{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "b0d0e659",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "根据用户ID查找到重复行数为： 341\n",
      "根据字段属性查找到重复列数为： 0\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "# Load the CSV file into a DataFrame\n",
    "df = pd.read_csv('D:/python/assignment/USER_INFO.csv',encoding='GBK')\n",
    "# Check for duplicate rows\n",
    "# 根据用户ID查看重复情况\n",
    "duplicate_USER_ID = df['USER_ID'].duplicated()\n",
    "num_duplicate_USER_ID = duplicate_USER_ID.sum()\n",
    "\n",
    "print('根据用户ID查找到重复行数为：',num_duplicate_USER_ID)\n",
    "\n",
    "# 查看属性是否重复\n",
    "duplicate_column_names = df.columns.duplicated()\n",
    "num_duplicate_column_names=duplicate_column_names.sum()\n",
    "print('根据字段属性查找到重复列数为：',num_duplicate_column_names)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "id": "c45a6490",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练样本的描述性统计分析：\n",
      "                               空值数          最大值       最小值\n",
      "MONTH_ID                        0     201603.0  201603.0\n",
      "USER_ID                         0          NaN       NaN\n",
      "INNET_MONTH                     0        249.0    -249.0\n",
      "IS_AGREE                        0          1.0       0.0\n",
      "AGREE_EXP_DATE             147678     205012.0  201603.0\n",
      "CREDIT_LEVEL                    0         67.0       0.0\n",
      "VIP_LVL                     90054         99.0       2.0\n",
      "ACCT_FEE                        0     65007.21      0.05\n",
      "CALL_DURA                       0    1333863.0       1.0\n",
      "NO_ROAM_LOCAL_CALL_DURA         0    1333863.0       0.0\n",
      "NO_ROAM_GN_LONG_CALL_DURA       0     251683.0       0.0\n",
      "GN_ROAM_CALL_DURA               0     357217.0       0.0\n",
      "CDR_NUM                         0       5119.0       1.0\n",
      "NO_ROAM_CDR_NUM                 0       5119.0       0.0\n",
      "NO_ROAM_LOCAL_CDR_NUM           0       4869.0       0.0\n",
      "NO_ROAM_GN_LONG_CDR_NUM         0       1235.0       0.0\n",
      "GN_ROAM_CDR_NUM                 0       4743.0       0.0\n",
      "P2P_SMS_CNT_UP                  0       7228.0       0.0\n",
      "TOTAL_FLUX                      0  469877.6995       0.0\n",
      "LOCAL_FLUX                      0  469877.6995       0.0\n",
      "GN_ROAM_FLUX                    0  41112.07057       0.0\n",
      "CALL_DAYS                       0         31.0       1.0\n",
      "CALLING_DAYS                    0         31.0       0.0\n",
      "CALLED_DAYS                     0         31.0       0.0\n",
      "CALL_RING                       0       4419.0       1.0\n",
      "CALLING_RING                    0       4367.0       0.0\n",
      "CALLED_RING                     0       1978.0       0.0\n",
      "CUST_SEX                    11442          2.0       1.0\n",
      "CERT_AGE                    11675         93.0       6.0\n",
      "CONSTELLATION_DESC          11675          NaN       NaN\n",
      "MANU_NAME                       2          NaN       NaN\n",
      "MODEL_NAME                      0          NaN       NaN\n",
      "OS_DESC                     12373          NaN       NaN\n",
      "TERM_TYPE                       0          4.0       2.0\n",
      "IS_LOST                         0          1.0       0.0\n"
     ]
    }
   ],
   "source": [
    "# 对数据进行描述性统计分析\n",
    "# 返回缺失值个数、最大值、最小值\n",
    "# 训练样本的描述性统计分析\n",
    "# 在describe函数中，percentiles参数表示指定计算的分位数表，如1/4分位数、中位数等\n",
    "explore_train = df.describe(percentiles=[], include='all').T\n",
    "explore_train['null'] = df.isnull().sum()  # 计算缺失值\n",
    "explore_train = explore_train[['null', 'max', 'min']]\n",
    "explore_train.columns = ['空值数', '最大值', '最小值']  # 表头重命名\n",
    "explore_train.to_csv('D:/python/assignment/explore_train.csv') # 保存训练样本的描述性统计分析\n",
    "print('训练样本的描述性统计分析：\\n',explore_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "18dbce83",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "去重前形状为： (300309, 35)\n",
      "去重后形状为： (299968, 35)\n"
     ]
    }
   ],
   "source": [
    "df.shape\n",
    "print('去重前形状为：',df.shape)\n",
    "df1=df.drop_duplicates(subset='USER_ID', keep='first',inplace=False)\n",
    "df1.shape\n",
    "print('去重后形状为：',df1.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "id": "82b6420f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>MONTH_ID</th>\n",
       "      <th>USER_ID</th>\n",
       "      <th>INNET_MONTH</th>\n",
       "      <th>IS_AGREE</th>\n",
       "      <th>AGREE_EXP_DATE</th>\n",
       "      <th>CREDIT_LEVEL</th>\n",
       "      <th>VIP_LVL</th>\n",
       "      <th>ACCT_FEE</th>\n",
       "      <th>CALL_DURA</th>\n",
       "      <th>NO_ROAM_LOCAL_CALL_DURA</th>\n",
       "      <th>NO_ROAM_GN_LONG_CALL_DURA</th>\n",
       "      <th>GN_ROAM_CALL_DURA</th>\n",
       "      <th>CDR_NUM</th>\n",
       "      <th>NO_ROAM_CDR_NUM</th>\n",
       "      <th>NO_ROAM_LOCAL_CDR_NUM</th>\n",
       "      <th>NO_ROAM_GN_LONG_CDR_NUM</th>\n",
       "      <th>GN_ROAM_CDR_NUM</th>\n",
       "      <th>P2P_SMS_CNT_UP</th>\n",
       "      <th>TOTAL_FLUX</th>\n",
       "      <th>LOCAL_FLUX</th>\n",
       "      <th>GN_ROAM_FLUX</th>\n",
       "      <th>CALL_DAYS</th>\n",
       "      <th>CALLING_DAYS</th>\n",
       "      <th>CALLED_DAYS</th>\n",
       "      <th>CALL_RING</th>\n",
       "      <th>CALLING_RING</th>\n",
       "      <th>CALLED_RING</th>\n",
       "      <th>CUST_SEX</th>\n",
       "      <th>CERT_AGE</th>\n",
       "      <th>CONSTELLATION_DESC</th>\n",
       "      <th>MANU_NAME</th>\n",
       "      <th>MODEL_NAME</th>\n",
       "      <th>OS_DESC</th>\n",
       "      <th>TERM_TYPE</th>\n",
       "      <th>IS_LOST</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>201603</td>\n",
       "      <td>U3116011101365327</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>201701.0</td>\n",
       "      <td>66</td>\n",
       "      <td>NaN</td>\n",
       "      <td>98.55</td>\n",
       "      <td>44038</td>\n",
       "      <td>35562</td>\n",
       "      <td>8476</td>\n",
       "      <td>0</td>\n",
       "      <td>425</td>\n",
       "      <td>425</td>\n",
       "      <td>359</td>\n",
       "      <td>66</td>\n",
       "      <td>0</td>\n",
       "      <td>46</td>\n",
       "      <td>4.226998</td>\n",
       "      <td>4.226998</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>30</td>\n",
       "      <td>29</td>\n",
       "      <td>30</td>\n",
       "      <td>134</td>\n",
       "      <td>98</td>\n",
       "      <td>71</td>\n",
       "      <td>1.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>巨蟹座</td>\n",
       "      <td>联想</td>\n",
       "      <td>LENOVO A2800-D</td>\n",
       "      <td>ANDROID</td>\n",
       "      <td>4</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>201603</td>\n",
       "      <td>U3115122549657565</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>201612.0</td>\n",
       "      <td>66</td>\n",
       "      <td>NaN</td>\n",
       "      <td>55.95</td>\n",
       "      <td>3163</td>\n",
       "      <td>1025</td>\n",
       "      <td>1941</td>\n",
       "      <td>197</td>\n",
       "      <td>29</td>\n",
       "      <td>24</td>\n",
       "      <td>10</td>\n",
       "      <td>14</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>56.415634</td>\n",
       "      <td>39.857082</td>\n",
       "      <td>16.558552</td>\n",
       "      <td>12</td>\n",
       "      <td>10</td>\n",
       "      <td>6</td>\n",
       "      <td>9</td>\n",
       "      <td>8</td>\n",
       "      <td>5</td>\n",
       "      <td>1.0</td>\n",
       "      <td>57.0</td>\n",
       "      <td>天秤座</td>\n",
       "      <td>联想</td>\n",
       "      <td>LENOVO A2800-D</td>\n",
       "      <td>ANDROID</td>\n",
       "      <td>4</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>201603</td>\n",
       "      <td>U3115122771884179</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>67</td>\n",
       "      <td>NaN</td>\n",
       "      <td>40.70</td>\n",
       "      <td>5889</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5889</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>14.912551</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>14.912551</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>2.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>射手座</td>\n",
       "      <td>联想</td>\n",
       "      <td>LENOVO A2800-D</td>\n",
       "      <td>ANDROID</td>\n",
       "      <td>4</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>201603</td>\n",
       "      <td>U3115122749792284</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>201612.0</td>\n",
       "      <td>66</td>\n",
       "      <td>NaN</td>\n",
       "      <td>77.15</td>\n",
       "      <td>12749</td>\n",
       "      <td>1813</td>\n",
       "      <td>10936</td>\n",
       "      <td>0</td>\n",
       "      <td>47</td>\n",
       "      <td>47</td>\n",
       "      <td>33</td>\n",
       "      <td>14</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.355070</td>\n",
       "      <td>1.355070</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>21</td>\n",
       "      <td>14</td>\n",
       "      <td>12</td>\n",
       "      <td>17</td>\n",
       "      <td>15</td>\n",
       "      <td>6</td>\n",
       "      <td>1.0</td>\n",
       "      <td>47.0</td>\n",
       "      <td>射手座</td>\n",
       "      <td>联想</td>\n",
       "      <td>LENOVO A2800-D</td>\n",
       "      <td>ANDROID</td>\n",
       "      <td>4</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>201603</td>\n",
       "      <td>U3115121571754202</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>67</td>\n",
       "      <td>NaN</td>\n",
       "      <td>69.40</td>\n",
       "      <td>14220</td>\n",
       "      <td>2173</td>\n",
       "      <td>12047</td>\n",
       "      <td>0</td>\n",
       "      <td>54</td>\n",
       "      <td>54</td>\n",
       "      <td>16</td>\n",
       "      <td>38</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>544.843171</td>\n",
       "      <td>544.843171</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>26</td>\n",
       "      <td>22</td>\n",
       "      <td>9</td>\n",
       "      <td>9</td>\n",
       "      <td>8</td>\n",
       "      <td>5</td>\n",
       "      <td>1.0</td>\n",
       "      <td>42.0</td>\n",
       "      <td>狮子座</td>\n",
       "      <td>联想</td>\n",
       "      <td>LENOVO A2800-D</td>\n",
       "      <td>ANDROID</td>\n",
       "      <td>4</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   MONTH_ID            USER_ID  INNET_MONTH  IS_AGREE  ...      MODEL_NAME  OS_DESC  TERM_TYPE  IS_LOST\n",
       "0    201603  U3116011101365327            3         1  ...  LENOVO A2800-D  ANDROID          4      0.0\n",
       "1    201603  U3115122549657565            4         1  ...  LENOVO A2800-D  ANDROID          4      0.0\n",
       "2    201603  U3115122771884179            3         0  ...  LENOVO A2800-D  ANDROID          4      1.0\n",
       "3    201603  U3115122749792284            4         1  ...  LENOVO A2800-D  ANDROID          4      0.0\n",
       "4    201603  U3115121571754202            4         0  ...  LENOVO A2800-D  ANDROID          4      0.0\n",
       "\n",
       "[5 rows x 35 columns]"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df1.head(5)\n",
    "#df1.to_csv('D:/python/assignment/filter_userid.csv', index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "id": "c51aacb8",
   "metadata": {},
   "outputs": [],
   "source": [
    "#删除指定列有缺失值的所在行\n",
    "df2=df1.dropna(subset=['AGREE_EXP_DATE','VIP_LVL','CONSTELLATION_DESC','OS_DESC'],axis=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "id": "853035c6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "MONTH_ID                        0\n",
       "USER_ID                         0\n",
       "INNET_MONTH                     0\n",
       "IS_AGREE                        0\n",
       "AGREE_EXP_DATE                  0\n",
       "CREDIT_LEVEL                    0\n",
       "VIP_LVL                         0\n",
       "ACCT_FEE                        0\n",
       "CALL_DURA                       0\n",
       "NO_ROAM_LOCAL_CALL_DURA         0\n",
       "NO_ROAM_GN_LONG_CALL_DURA       0\n",
       "GN_ROAM_CALL_DURA               0\n",
       "CDR_NUM                         0\n",
       "NO_ROAM_CDR_NUM                 0\n",
       "NO_ROAM_LOCAL_CDR_NUM           0\n",
       "NO_ROAM_GN_LONG_CDR_NUM         0\n",
       "GN_ROAM_CDR_NUM                 0\n",
       "P2P_SMS_CNT_UP                  0\n",
       "TOTAL_FLUX                      0\n",
       "LOCAL_FLUX                      0\n",
       "GN_ROAM_FLUX                    0\n",
       "CALL_DAYS                       0\n",
       "CALLING_DAYS                    0\n",
       "CALLED_DAYS                     0\n",
       "CALL_RING                       0\n",
       "CALLING_RING                    0\n",
       "CALLED_RING                     0\n",
       "CUST_SEX                     1230\n",
       "CERT_AGE                        0\n",
       "CONSTELLATION_DESC              0\n",
       "MANU_NAME                       0\n",
       "MODEL_NAME                      0\n",
       "OS_DESC                         0\n",
       "TERM_TYPE                       0\n",
       "IS_LOST                         0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 再次查看列缺失统计\n",
    "df2.isnull().sum(axis=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "id": "2ae451e3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "MONTH_ID                     0\n",
       "USER_ID                      0\n",
       "INNET_MONTH                  0\n",
       "IS_AGREE                     0\n",
       "AGREE_EXP_DATE               0\n",
       "CREDIT_LEVEL                 0\n",
       "VIP_LVL                      0\n",
       "ACCT_FEE                     0\n",
       "CALL_DURA                    0\n",
       "NO_ROAM_LOCAL_CALL_DURA      0\n",
       "NO_ROAM_GN_LONG_CALL_DURA    0\n",
       "GN_ROAM_CALL_DURA            0\n",
       "CDR_NUM                      0\n",
       "NO_ROAM_CDR_NUM              0\n",
       "NO_ROAM_LOCAL_CDR_NUM        0\n",
       "NO_ROAM_GN_LONG_CDR_NUM      0\n",
       "GN_ROAM_CDR_NUM              0\n",
       "P2P_SMS_CNT_UP               0\n",
       "TOTAL_FLUX                   0\n",
       "LOCAL_FLUX                   0\n",
       "GN_ROAM_FLUX                 0\n",
       "CALL_DAYS                    0\n",
       "CALLING_DAYS                 0\n",
       "CALLED_DAYS                  0\n",
       "CALL_RING                    0\n",
       "CALLING_RING                 0\n",
       "CALLED_RING                  0\n",
       "CUST_SEX                     0\n",
       "CERT_AGE                     0\n",
       "CONSTELLATION_DESC           0\n",
       "MANU_NAME                    0\n",
       "MODEL_NAME                   0\n",
       "OS_DESC                      0\n",
       "TERM_TYPE                    0\n",
       "IS_LOST                      0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#将性别缺失值赋值为3\n",
    "s_for_fill=df2.fillna({'CUST_SEX':3})\n",
    "s_for_fill.isnull().sum(axis=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "id": "5ba74308",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(102052, 35)"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#查看处理缺失值后形状\n",
    "s_for_fill.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "id": "f8e98271",
   "metadata": {},
   "outputs": [],
   "source": [
    "#处理异常值\n",
    "dt=s_for_fill\n",
    "data_clear=dt.drop(dt[(dt['INNET_MONTH']<0) | (dt['ACCT_FEE']>40000) | (dt['CALL_DURA'] > dt['NO_ROAM_LOCAL_CALL_DURA'] + dt['NO_ROAM_GN_LONG_CALL_DURA'] + \n",
    "                                                                       dt['GN_ROAM_CALL_DURA'] + 100)].index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "id": "0ce23553",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(98855, 35)"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#查看处理异常值后形状\n",
    "data_clear.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "id": "232b6499",
   "metadata": {},
   "outputs": [],
   "source": [
    "#写出数据预处理后的文件\n",
    "data_clear.to_csv('D:/python/assignment/USER_INFO_filter.csv',index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "0a5d7944",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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bixwnrysXr3aOBwO43A43D7zLVu2NLfccovZtGnTOS3XG659vWLFiue1nFtuucVj51M+Pj7WSYO89gNPj5CQEGsfOjtoJSUleTxWu763SpYsmedJGtd8H330kdt8rqB1ds+ruLhxjxYuC1999ZW++uqrIl/PggULtHDhQuvGX1c7eE/3MLg6fnDdNJ2enq6PP/7YbZrJkyerV69eRVbnefPm6V//+leB0zVo0EDjxo3Tp59+mmeHAfPnz5ckDRkyxKt7PFJSUhQSEqLo6GgNGTIkz2mio6M1f/78XGO6TJo0SdLpjkLOvpcgLCxMTz75pEaPHq1vvvlGDz30kFv5/fffr82bN+vJJ5/UfffdpzZt2hRYV5f09HQ9/PDDyszMVJcuXXItOy8TJkzQuHHjJEnXX3+9RowY4fX6CuP2229XUlKSUlNT8yw/ePCg9X9vOkaQTt8LMmPGDK/rsGfPHq+n7du3rzIzM/MsS0xMtDoNGThwoNt9T2fq2rWrRowYoW3btunVV1+17pH01uLFi7Vp0yaVKFFCL730klvZjBkz9OyzzyosLOycxxQKDg5WeHi4nE6nXnjhBW3YsEEOh0MrV66UJDVp0kTly5dXr169FBAQYN0j4+qQoHXr1mrYsKE+++wzj+vw5rPm4+OjDRs2FDjdvffeq/nz56t///55dkzireXLl+vuu+9WYmKiKlSooBUrVqhOnTrntCxv7y9z8fPzU0pKiipXrpzrniGXjRs3Ssq7844ePXrI399fffr00ezZs3X48GHNnTtXEydO1LBhw9SuXTt98cUXCg4OVnJysjp27KiDBw+qatWqCg0NVVpamv7973/r/ffflyT17t1b//nPfwq876Znz57as2ePgoKCNHPmTK/u56lXr54+++wzdenSRUePHlWLFi30wQcf6IEHHihwXpe0tDQ98cQTMsaoT58+bvdkbtiwQSkpKR4/p4UxcuRIvfzyyx7LDx06lO/fumXLllqxYoXHctf92Xkto0GDBvr999/14YcfnlNnN9nZ2fmOa3amUaNGWd+FtWrV0urVq93u4ezXr5/eeecdde7cWd26dSt0XXDxIWjhkmaMkSR9+OGHeuyxx/Kddu3atV51TpCVlaWTJ0+63eDr+rHzxx9/aNasWedV57ODVkhIiCSpbNmyateu3Xkt+0yLFi1SfHy825fAmXx9fT1+uVSvXt3jcu+77748X9+9e7fbfCVKlMizp8QzHT58WJIUGhrq9vqaNWvyXVeHDh00evRoLVmyJFcYuuKKKzR//nzdfffd1g9eb7388suKjY1V6dKlrR9S+fn444/Vr18/SacD4Ny5c23phc4Th8ORZ4cJ0v9udL/mmmtUrVo1r5a3fPly2+p2ptmzZ2vZsmUey/v27at9+/apevXqVuDKi4+PjyZOnKjWrVtr4sSJ6tChg9efkdTUVKszkRdffDFX+AwMDFRKSorHkOetUaNGacmSJYqJidHs2bP1yCOP6LvvvpMkde/eXatWrdLkyZPl7++v5557TtWqVbPKH3nkkQKX700Q8fYmfLvccMMNqlOnjo4ePaoVK1aoZs2a57ScJ554Qvv27ZMkbd68WY899pjVwdH+/fv12GOPyRhjdcYwdOhQ6/M1aNAgPf3003ku18/PTzk5OR4/i927d1e9evXUvXt3vf3225o5c6YVPF2d4EinO1k5evSorrnmGi1fvlxRUVHKysrSkSNHFBgYqOnTp6tr164Fbufw4cP16aefSpL++9//5tkboift27fXokWLdM899yglJUUPPvigvvrqK40fP95j0DzTiy++qJ07d+r666+3OuFwcX0G8utN0luu41JoaKgqVKjg9XynTp3SsWPHrO9BT/Kro6vTqHPtZOLsTqE8GTdunAYNGiSHw6E2bdpo2bJlateunb7++muFh4dr+vTpeuedd1S7du1CncDCxY2ghUvaufROVNDZuz///DNX72jS6R/9PXv21JAhQxQYGGj17ORwODRkyBAlJyfrrrvussKc+f9u3l09ALquaJ3N9QVVt25dWw/O1157reLj4z3+2AgODlZKSoqefvppXXHFFee8njfffFOSPAYAT7Kzs7Vw4UJJcjvLevz4cZ06dUqS1KxZszznbdCggaTTf6uzLVq06Jy+cFevXm11x96uXTu9++67io+PV9myZdWxY0c1bNgw1zzh4eG67bbbtGLFCs2ePVtHjhxRx44dPa7D1UukdPpstfn/7qhdVz1dvTd+9tlnXvcGeOzYMY0cOVLvvPOOgoKCNHnyZK+3+bvvvit0r4Pdu3fPd5q//vpLffr0kXS6+2dX1+oun3zyidVr4uTJkwvsPbJVq1bq1auX3nvvPT344IP68ccf8/2hmpiYqNTUVA0dOlTb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PHmyNc5SdHS021hdeenRo4eRZG699dZzWt+OHTvyHUfL9f0WGxtrjDHml19+cTvOBgYGun235uefHEdr6NChVh0/+ugjr+fLysqyxrKaPn16vtMePXq00MfqpKQk89FHH3mc3rXun376yes648LHFS1cUjZt2qS33npLc+fOlTFGTZo00eeff+5Ve+tSpUppxYoV6t+/v9599129+eabeuedd/Too4/q4YcfVnR0tBwOh37//Xf16NHDukH3nnvuUZ8+ffTTTz9p2LBhGjJkiN566y21aNFCN910kxo2bKgrrrhCkZGRVo90xhhlZWVZPcclJCQoPj5ex44dU3p6usfmIq528TExMQV2TZ+XmJgYSd6dMfPUm9lvv/3m9foKurr13Xffeb2ss0VEROjHH3/UK6+8oqlTp1rrqlWrlsaPH68OHToUuIxbb721UM00atWqpbfeektvvfXWOdc7P/l1YOCt0NBQvfbaa27NyLzx2muvaffu3QoKCvJ6PKw9e/bo2LFj8vX1VXJysj788ENJ8rqZjmt7z9wft2/frn/961/6/fffVbp0aX366adWE67Dhw9r/vz5cjgcOnjwoHW/XIMGDbzeTtc6Xb263XPPPQoODlZAQIDbfSfJycmSTnfXf3azxTM/vzfffLNbJxRn/t18fX3VvXt3jz0x1qxZ07qPIz/59RJZu3Ztpaen57pKUKJEiTx7O/UkJydHO3bskFT4+29cHZa4Op4oXbq03n777TyHrKhWrZo2btyoxx57TIsWLVJKSoqGDRumUaNGaf78+W7NfdPT0/Xtt9/qgw8+0OLFi5WTk6MSJUronXfe8Xi1ev/+/Xrsscf0ww8/qHz58vr888/l7++vOnXqqHXr1lq8eLFuv/12vfLKK3rttdfO+V6jwhw3CrJjxw698MIL1hh8N9xwg7755ptcvbvu3LlTn3/+uTIzM/Xnn39aTfDyG3YiP/7+/rrppps8NpF0XS11/XvDDTfohhtu0BVXXKEbb7xR3bp1U82aNfOc9++//1ZISIgCAwML1QS6INnZ2crIyFBKSkqe482NGTNGw4YNk3S62aWnzk3yqu+QIUO0b98+Sac/V/k585jlTeuXM3nq9fHQoUO5lo1LQLHGPMAmS5Yssc6A6//P0L344ovG6XTmmjYuLs6aLisrK8/lff75525Xq3x9fc38+fON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CQmaNWuWJGnUqFFq3bq1fH191aJFC9vLAAAAAKAoeHVFq3///poxY4befvtt9erVS48++qiWL18uH5/cOS0rK0uZmZm5muud6ewmhyVLllTp0qVVunRpTZkyRV27dtWAAQOUnZ2tVatWna6on5/tZQAAAABQFBzGGFPQRJs2bdLgwYP1+++/69NPP1WJEiWUlpamoKAgORwOazpjjDIyMpSRkaHmzZufc6UOHTqkmJgYNWvWTFFRUUVeVpDExESFhYUpISGh2O/X+vPPP9XhrvtU5Z6BKlm2SrHWBReH5GP7tG/+W/pmwTzVrVu3uKsDAABwUfM2G3h1Revaa6/V119/rcmTJ6tjx46aMWOGOnfubFtlz1axYkVVrFjxHysDAAAAADsVqtfBp59+WvPnz9cjjzyilStXFlGVAAAAAODiVuju3Vu2bKmxY8fqX//6l44ePVoUdQIAAACAi9o5DVj8xBNPqH79+urTp4/d9QEAAACAi945BS1JeuONN3T11VfbWRcAAAAAuCQUasDiM91000266aab7KwLAAAAAFwSzvmKFgAAAAAgb14HrTvuuEN//vlngdMNHjxYixYtOq9KAQAAAMDFzOug9eqrr+qee+7Rr7/+6nGaoUOHasWKFWrTpo0tlQMAAACAi5HXQatp06aaO3eunnzySfXr108bNmxQXFyc9u7dqzlz5qhJkybas2ePli5dqqCgoKKsMwAAAABc0ArVGUb9+vW1YcMGffbZZxo3bpz27dunUqVKqW7dupowYYIaN25cVPUEAAAAgItGoXsd9PPz04MPPqgHH3ywKOoDAAAAABc9eh0EAAAAAJsRtAAAAADAZgQtAAAAALAZQQsAAAAAbEbQAgAAAACbEbQAAAAAwGYELQAAAACwGUELAAAAAGxW6KCVkZGh119/Pd9pPv74YyUlJZ1zpQAAAADgYuZX6Bn8/DR69GgdOXJEFStWVJ06ddSsWTNVqFBBkrRp0yb16tVLVatW1U033WR7hQEAAADgQlfoK1o+Pj4qUaKEGjZsqMzMTH311Ve6+eab1ahRI02YMEHt27fXyJEjCVkAAAAALlteX9FaunSpqlevrtq1ays0NFQ9e/a0yo4ePapu3bqpX79+at++vXr37l0klQUAAACAi4HXV7SmTJmiJk2aqHLlyjp58qSmT5+ul19+WS1atNCNN96oZs2a6a+//lJqaqreeeedoqwzAAAAAFzQvL6i9cUXX8gYo9WrV2vevHl66623tGfPHg0YMEAjRoywppszZ46uu+46de7cWVWrVi2KOgMAAADABc3roPXmm28qKytL5cqVk9Pp1MaNG9W3b1+VKFFCffr00SOPPKLrrrtOjz/+uPr06aNffvmFoAUAAADgsuR10OrevbumT5+ubdu2yc/PT/fee6/atGmj559/XhEREVq9erUcDofq1aunQYMGFWWdAQAAAOCC5vU9WqNGjVJ8fLwOHjyoX375RVFRUTp27JhSUlIUFRWlzZs368orr9Svv/6qxMTEoqwzAAAAAFzQvA5aUVFRKlu2rCIiIvTbb78pKSlJZcqU0bXXXqvExETt3btXR48e1VNPPaWXXnqpKOsMAAAAABc0r4NW79699fPPP6tmzZq67bbbtGfPHjVv3lzLly9XWlqa2rRpo4iICP373//WmjVrdPjw4aKsNwAAAABcsLwOWtOmTVOzZs1Us2ZNXXnllZo7d64eeughBQcHKzw8XH/88Yf++9//yuFw6P7779eiRYuKst4AAAAAcMHyujOMAQMGSJJOnTqlRo0aqWrVqpo8ebLCw8M1evRo+fv7q379+pKknj17KioqqmhqDAAAAAAXOK+Dlkt4eLjCw8MlSbfddpsk6b777nObhpAFAAAA4HJW6KD1/vvvy9/fX76+vnI4HMrKylKdOnV00003FUX9AAAAAOCiU+ig9eyzz1pNBCVpy5YtevvttwlaAAAAAPD/Ch20JOm3336z/u/v769nn33WtgoBAAAAwMXO614HXRwOR77PAQAAAOByV6iglZKSUlT1AAAAAIBLhldNB1etWqUXXnhBV199dVHXBwAAAAAuel5d0crMzNSjjz6qCRMmFHV9AAAAAOCi59UVrdatW6t169ZFXRcAAAAAuCQUujMMAAAAAED+Ct29uzFGjz/+uPU8OztbvXr10nXXXacOHTroyiuvtLWCAAAAAHCxKXTQGjNmjHx9feXr6ytJqlWrlo4dO6bp06erT58+euCBB/Tmm28SuAAAAABctgodtPr16+exLDY2Vn369FGjRo20f/9+BQYGnlflAAAAAOBiVOiglZ+rr75a3333nb7//ntCFgAAAIDLlu2dYfj4+KhNmzZ2LxYAAAAALhpeX9EqW7asAgMD5efneRYf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",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd \n",
    "# 读取数据\n",
    "data_clear= pd.read_csv('D:/python/assignment/USER_INFO_filter.csv') \n",
    "bins=[0,50,100,150,200,250]#设置分布区间\n",
    "# 绘制在网时长区间频率分布直方图\n",
    "import matplotlib.pyplot as plt\n",
    "plt.figure(figsize=(10, 6)) # 设置图框大小\n",
    "plt.hist(data_clear['INNET_MONTH'],5,range=[0,250],alpha=0.8,edgecolor='black') \n",
    "plt.rcParams['font.sans-serif'] = ['SimHei'] # 用于正常显示中文标签\n",
    "plt.title('某运营商2016年3月份在网时长频率分布直方图', fontsize=20) \n",
    "plt.xlabel('在网时长区间（小时）') \n",
    "plt.ylabel('用户数（个）') \n",
    "plt.xticks(bins) \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "98ed84ca",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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fkpKisLDw2WMUY0aNfTNN9/o+++/z1YZ06tcubLKli2rjRs36sUXX5R0udXJnU8//VSPP/641d08qwDv7mSWU7Vq1bwqn/Mz58iRIx5vbp2Zq7khtfP7umPHjtkKc3PmzFHXrl29Xt7Pz88KYL/88ovGjx9vfR84T2q2adNGTz31lHr06EEY+7ewfSgQ4DqW/v4eucE5ItzAgQPdzr/tttuMJJchj48ePWqaNGliqlWr5naErqw4b3C7aNEir5Z/8803jeT9jT2NMdY9q9Lf3+jkyZOmcuXKRrp8Q17nTWB///13a8TBgIAAM336dGsdZ117O4x/amqqadmypZFkqlSpkmHUu99//91Il+8LlpmyZctmud/169dnOTpiWlqaNYqic5jsK126dMkaknjFihUet+UcJt7T/q5mdERPTpw4YV544QVryPHMRmd0cg79nlejI545c8YY83/Djzdq1MgkJSWZwYMHm3r16pmoqCgTGxtrYmNjrTopU6ZMhu1s3rzZZWS1r776yho2/EqHDx820uUbpzpdunTJSO6HyM/sfe28qe369eszfZ3ZHe0sJ6MjOu/tldnoiOmPJefyFStWzHDfM+eobt7eWNjJ0xD1P/30kzXCZWb3vMpK8+bNjZ+fn5k/f77ZuXOnkWRq1KhhzX///fdNeHi4SUhIsG7LMXXqVGOMMaNHjzaSTPfu3a3lfXx8Mh16f9WqVdYodhUrVjRnz541kZGR5uGHHzaSTIcOHVxGnF22bJmRLg/9v3HjRnPgwAFz8803G+ny/cwmTJjgcV8zZswwR48eNcZcHtn14MGD5vTp0+bs2bNm3LhxRpKpXr26iYqKcvt45JFHjCTz8MMPu2zX072y3nnnHWsYfOfr8fHxcbusu+8Ap0mTJhlJ5v777/f42q58nZJMt27dvFreaerUqTlazykmJibHo59u3rzZ43avHB3xwoULZt26deaVV14xN910kzWvefPmZvv27eb06dOmX79+1q0AnJ87AwYMMJMnTzZJSUmMjphP5fz0AYCrsnnzZm3evFm33HKLy+hroaGhunjxog4ePOjx4vHM5PSs4NWcTTx69KhatGihI0eOqG3btlq5cqU1wEG9evW0bds2DRw4UAkJCerXr5/69++foxaVV199VevWrVNAQIAWLlyo4sWLu8x3difLqnXB+Vo9jRborT///FPHjx+XdHnkNHcCAgKsASEyG4XT7gESpMuDTowZM0bjxo2TJI0fP167d+/OdJ34+HhJl1shb7zxRq8fw4cP96pMpUqVyjDNz89P77//vn788UcFBQWpSJEiKlKkiNXyeeVxIP1fV91ixYpJunyNWWbd/a50Lf4euc2brqnpTZ48WQEBATp27Jg1WEteadasmWrWrKno6GjNnDkzR9s4ceKENm/eLIfDoZYtW1ot/85/jx49qiFDhqhBgwY6ePBghvWdrT3eDFJx6NAhde7cWW3bttXBgwc1YMAA7d69W19++aWqVKmiTz/91Gpxa926tapWrarChQtbrWRpaWnq3bu3ypYtq82bN6tPnz5KTk7Wc88953EE2L59+6pixYqSLh/jVatWVenSpVWyZEn99ddfki5fDxwUFOT2ERkZKely63p6V7Z2X7hwQQ899JBeeOEFGWPUt29fa9TWq5GX11nlBmcLd4ECBRQbG2tdZ+np8ccff1jrlitXzuv9LF26VC1bttRbb72lPXv26N5779X333+vxx57TJMmTdLBgwf10Ucf6dChQ3rppZdUtmxZ7dmzR1OnTtWvv/6a40FDcP2jOyLyvePHj6t///7WiIWehqqVXK+xyqpvuvn/I29dvHhR8+bNs37seSMtLc26mHvUqFEu5SlUqJAWL16sBg0a6IsvvlCHDh28GkXLyRkspkyZkmFgA3d27drlsl52bdu2TZ07d9bp06fVuHFjLVmyJMOXb8GCBTV58mQ1atRI/fv319q1azPtxuLOwoULrWtVPvroI7fdeJxDdycnJysyMtJjNydnFxTz/7vj5VT67nCZ/cB3BtJjx455XOZqQvDVGjhwoF555RXFx8dr7dq1qlevntvljDHWNU/O8GmnK7uYnj59WpLcjqjmfC9nt6uZk/MkQU6vCcupbdu2ZRj2Pj131/K88sorevPNNzNM9yaEpX8PlC1bVr169dLMmTM1ZswY9e/fP08HCejfv7+GDh2q0aNH65FHHsn2NU9z5sxRWlqaHnroIYWGhlp/F+fn6aJFiyRJTZs2dTuqoHOgJefnRmbOnTun1atXq1ChQpo1a5Y11HudOnWsrtzBwcE6e/astm3bZoWZKlWqyM/PTyNHjtShQ4c0ffp0/fe//9WsWbNUtWpVffvtty7XtXrLebLkymMzPWdQuzKEpRcfH6+mTZtagWTgwIGaNGmSV9cQZiW7JzIWLFigBQsWXPV+vfXrr79KkmrVquVxJOD00r+3nZ/p3ujTp4+2b9+uypUr66GHHlKlSpWUlJSk3r176+TJk5ozZ45q166tPn36aMCAARo5cqQ2bNigr7/+2mNAR/5ACEO+Fx8fr5UrV2Z7vStH18qMuwEyMvPWW29p8+bN6tSpk9uh5WvUqKHBgwfr3Xff1aBBg9SyZUuv79/kHDwku0Os5zSEbd68WVFRUWrdurWOHDmS6Y/ePn36aMmSJbr11lt1ww03eL2PLVu2WKF4+PDhevTRR90uFxQUpKJFiyo2NlaHDx92G8Li4uKs1hxvvngzkz4UZHYNWkxMjKT/CwSJiYm6cOGCChYsKD8/PxUsWPCqA6Eka6S8hIQEXbp0yWpVMsbo2LFjKlq0qNsfnH5+fqpUqZIiIiLcXmfodObMGeuHa1RUVKav+UrejI6YXc7WDXfXnjhbyXI6hLYzhOXWNWHech4j/v7+Wd7TadOmTTp48KDHIbq9uX9Ramqqy5n2//73v5KkQYMG5fkobU8//bQ++OADHT16VM8++6zmzZvn9brJycnWPQGdI2qmd+nSJWvEUucJrytD6d9//y0p473x3NVbWFiYZs6cqVq1armcALrtttu0evVqNWrUyGUUxNTUVA0cONC6ZrVWrVoqVaqUmjZtaq37yiuv6KWXXsr2CZjk5GRt2rRJ0uXriT1x3sajQoUKHpcpXLiwFixYoPbt2+vxxx93G+btUrlyZd15551eL79//35t2bIlx/vbuHGjpP+7LjcrzhAWHByc7cGkpkyZ4vK8YMGC2r17t+bMmaPJkydr7969ev7553X69GmNHz/e7UBeyH8IYcj3qlevbt2bxflIf4buxIkTuvHGG3Xx4kWtWrVK9957r6TLP1xbtGihH3/8UZs2bXIZUtj8/6Ghk5OTFR8fn60fK6+++qreeustSZe7wQwZMkRnz57V33//bf0bGRlp/Qg8f/68nn76aS1dutSr7c+bNy9bP2au1pAhQ9SyZUvVqVNHrVq10p9//ql27dq5dCvbsWOHdu/erUKFCqljx47Z2n5ERIQ6duyoS5cuqVu3btaIip7ceuutWr9+vXbs2KGwsLAM851f2kWLFnXbjS07qlatao2CuW/fPjVs2NDtclu3bpUkazCE9evXWxdpX+no0aNZDo7hbfcUZ7AbNGiQpkyZooEDB2a4r5V0+cep8wdbZvfp+eWXXyRd/rGUnQCWV5z16q5V1BnCcjrqmfP9V7du3QxdNJ2B0l19DhgwINsj7UnSt99+qzNnzlgjVBYpUiTL20707t1bBw8e9Hg8OENHZkPUXxk46tatq48//jjb5c+JgIAAjRo1Sr169dKnn36qO++8U3379vVq3VmzZunkyZO67bbb3LZCjxw5UidPnlTDhg2tARSu7ALtHATiykEQPHWV9nQDXW9u6t6pUye303PSAr5s2TLFx8fL19fXY2hJSUmxWuozawmTLo88GRERcdWfh1erSZMm2brVyrRp03IcwqKjo63vVG+/k5whLKv6zMq2bdu0a9cu3XfffRoyZIgGDRqkFStWaPLkydagU/h3IIQh3/P19fXYipSamqrevXsrPj5e/fv3z/BlPnr0aN1xxx165JFH9Msvv1hnOh0OhzXyVnbPtJ84ccL6f/prIRwOh0qXLq0KFSro9ttvt85evvfee1q2bJmWL1+uLl26eNzuV199pSVLlmSrLO6UK1cuy6BzJeeIh86zgy+99JLLGdoXX3xRu3fvzvKmmlfas2ePWrdurcjISN11112aM2dOlgHlnnvu0fr16zV//ny319Q5u495CkzZERAQoJYtW+rbb7/V6NGjre5P6a1cudIKL84v+yJFiuimm26ybmVQoEAB675Qnly8eFGbN2+WdHmYcnf14LyvXGJiokvLZvv27TVlyhR9/PHH6t27d4bQMm/ePF24cEEFChTQ3Xff7bEMzhthe3Pj8ryWmppqtXC7+yHqbBG+2hCWXZl1OfVkx44d6tatm9LS0vTNN99ke31P10A6Q1hmI9zl1WiXWdm1a5dq1aqlnj17avny5Vq0aJF130FvRmbs37+/mjRp4vbejYcPH9a7774rPz8/TZ8+3XqvpH9PJCcnW8fzlV0VjTEuI6f+8MMP1u0FnPdxy+y6U2e9p78lgTvpW65r1aqldevWZfm609LSrBsnd+rUyePJkL/++ss6CeNNaLgygF1Ny/y17FrtrY8//liXLl1SkSJFMr0/Y3rO7s9XG8LeeOMNffvtt3I4HAoLC1OXLl304IMPZujajPyPEIZ/LWcAW7t2rapXr66xY8dm6K7SvHlzPf3005oyZYratm2r1atXe3X9QGZefPFFbdq0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AAA2IoQBAAAAgI0IYQAAAABgI0IYAAAAANiIEAYAAAAANiKEAQAAAICNCGEAAAAAYCNCGAAAAADYiBAGAAAAADYihAEAAACAjQhhAAAAAGAjQhgAAAAA2IgQBgAAAAA2IoQBAAAAgI0IYQAAAABgI0IYAAAAANiIEAYAAAAANiKEAQAAAICNCGEAAAAAYCNCGAAAAADYiBAGAAAAADYihAEAAACAjQhhAAAAAGAjQhgAAAAA2IgQBgAAAAA2IoQBAAAAgI0IYQAAAABgI0IYAAAAANiIEAYAAAAANiKEAQAAAICNCGEAAAAAYCNCGAAAAADYiBAGAAAAADYihAEAAACAjQhhAAAAAGAjQhgAAAAA2Oi6DmEvvviiOnbsaD3fvXu3wsLCFBwcrGHDhskYk6fzAAAAACC3XbchbPfu3frwww81ceJESVJiYqI6duyoRo0aafv27YqIiNDs2bPzbB4AAAAA5IXrMoQZY9S/f389++yzqlatmiRp5cqVio6O1oQJE1StWjWNGjVKM2fOzLN5AAAAAJAXrssQNmPGDO3cuVNVqlTR119/reTkZIWHh6tp06YKDAyUJNWvX18RERGSlCfzAAAAACAvXHchLC4uTq+88opq1KihEydOaMKECWrRooViYmJUpUoVazmHwyEfHx9FRUXlyTxPEhMTFRMT4/IAAAAAAG9ddyFs6dKlio+P17p16/Tqq6/qu+++04ULFzRr1iz5+/u7LBsQEKCLFy/K19c31+d5Mnr0aBUvXtx6VKhQ4SpfMQAAAIB/k+suhJ04cUJNmjRRSEiIJMnX11f169dXQkKCzp4967JsbGysChYsqJCQkFyf58nw4cMVHR1tPY4fP341LxcAAADAv8x1F8IqVKigS5cuuUw7evSoxo8fry1btljTjhw5osTERIWEhCgsLCzX53ni7++vYsWKuTwAAAAAwFvXXQi77777tHfvXk2bNk0nTpzQBx98oJ07d6pNmzaKjo7W3LlzJUljxoxR69at5ePjoxYtWuT6PAAAAADIC77XugBXCgkJ0apVqzR06FA999xzKlOmjObPn6/q1atr+vTp6tmzp4YNG6bU1FRt2LBB0uUui7k9DwAAAADywnUXwiSpadOm+umnnzJM79Kli/744w9t375dzZo1U2hoaJ7OAwAAAIDclu0QlpKSooULF2rZsmU6duyY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iIE5AAAAAMBGhDAAAAAAsBEhDAAAAABsRAgDAAAAABsRwgAAeSolJUUJCQleLZuYmJjHpbl2zpw5o3vvvVeRkZGSpPj4eCUlJWVrG4cOHdKnn36aF8XL1HfffafNmzfbvl8AyK8IYQCAXPf555/r1VdflSR9//33qlmzpqpXr249qlWrJofDoebNmys+Pl6SFBMTo1q1amnXrl3Wdi5duqQ///xTa9as0aRJk9S7d2917tw52+W5++67NWnSJLfznnzyST3//PMu0zZt2qT77rtPsbGxLtOPHDkih8OhkiVLZvooUaKEihcvrl9//dVat1SpUkpMTNQTTzwhSbr11lsVGhrqsl5QUJDKlCnjtpzx8fHq2rWrypcv7/F1zps3T40bN/aqTjIzZ84cNWrUyHpevnx59enTR6dPn77qbQMACGEAgDxQv359TZgwQWvXrlW7du107NgxbdiwQXfccYd27Nihzp07KywsTCtXrlThwoUlScWKFdN///tfde7cWfHx8ercubMqVqyo7t27q2vXrtq+fbvuvvtuDRkyRMnJyZKkzZs3ZwhAe/fuzVAeX19f+fr6ui2rv7+/ChYsaD0/cOCAHnjgAd14440qUqSIy7KBgYGSpMjIyEwf586dU3R0tBo2bGit63A4NG7cOPn7+yshIUF79+5VdHS0y3pr1qyRn5+f23KOHj1aXbt21V133eWx3gMCAjyu73Trrbe61NeIESMyLHNlfdWpU0cvv/yyXnzxxUy3DQDwDiEMAJDr6tWrpzfffFOpqanWtNKlSyshIUG1atXS1q1btWbNGhUrVsxlvSFDhmjKlCkqXLiwlixZorNnz2r79u2qXbu2+vTpo8cee0wtW7Z0CRoBAQFWiElISFBaWpouXryolJQUOW+F6efnpwIFCujSpUvK7PaYf/75p1q3bq1+/fpp/PjxcjgcLvMLFHD92lyyZIkVCJ369euncePGuUybP3++OnXqpFtvvVULFy5UQECAxzL4+PhkmBYbG6svvvhC//vf/zyuJ11+nVeW2d225s+fr8jISHXv3l1JSUlW18i0tDRrO76+vkpKSrK6TD788MPavXu3Dh8+nOn2AQBZI4QBAPLEc889pzZt2mj+/PkqV66cbr75ZoWHh+vMmTM6d+6cmjVrpnLlymnp0qUu67Vv31779u3Tzz//rM2bN2vLli2Ki4tTRESEtmzZop9++knr169XUlKS21afn3/+2ermV6JECZUoUUJr1qzRc889p9DQUB07dsxtebds2aLbb79d/fv311tvvZXl6zt79qxeeOEF3X777Tpy5Igk6ddff9Xs2bPVoEGDDMtfuHBBkjR79myXrpnOR2bXh61atUrt27d3G96++uorbdmyJcP0gwcPasWKFRmmX1lnvr6+uvnmm636CgkJUd++fbVt2zaFhoZq7Nixki635HXv3j3D3wsAkH3u+2YAAJBDhw8f1rRp0+Tr66uXXnpJaWlpateunT7++GNJl3/079u3T5LUu3dvORwOvfXWW9Y1ZIsXL9bp06e1du1a+fj4qECBAjp9+rQWL16sDRs2yBij5ORk3XLLLW5bfVq3bm1dZ+bUoUMHdenSRX379pUkq0WsQIECSk1NVWpqqkJCQvTiiy/qqaeechlIJDU1VQ6Hw+qK6BQaGqrw8HA9++yzaty4sebNm6chQ4Zo6NChuueee1yW9fX1tVrRLl68qNtvv12zZ8+WJCUkJKhQoUKZdiMMDw9XkyZN3M57+eWX1aNHDzVt2tRl+q5du9S3b18dOnRIxYsXt6a7a937448/XKYtXrxYEydO1KZNm1ymN23aVNOnT/dYTgCAd2gJAwDkKn9/f1WuXFlTp05VUlKSfH19tWDBAlWuXFmVK1dWamqq9f/FixfLz89Pw4cPV1pamu688075+/tr4MCBWrp0qRYtWqQFCxaoevXqeu2117RgwQItXLhQy5YtU1BQkHx8fPTXX39Z1zfFx8fL4XDo/PnzmY7m99JLLyk4OFglS5bUzJkzNX78eDVs2FDPP/+8ihUr5nLNVEhIiIYOHep2O4ULF9aMGTP02muvqW3btkpMTNTIkSMzrZ8ruzQ6ZdaN8OzZsypVqlSG6X/++af27NmjRx55JMO8+++/XzVr1rRaspx8fHzUtWtX67U7HA6lpaVp9erVVndET0JDQ/X3339nugwAIGuEMABAripbtqwGDBigwMBA+fn5yc/PT926ddORI0d05MgR+fj4WP9/8MEHJV0OBs4Q4mkADXfS0tJ0ww03WNeEOQf5+P3339W+fXsdOnTI7XrvvfeeEhMTFRcXp379+un5559XXFycPv/8c918882Ki4uzHomJiZo6dWqm5Th//rzKlCmjU6dO6Y033siy3EuXLrW6IdatWzfL5YsUKZJhpEbpctfGVq1aeRwxccyYMXr//fd17tw5a1paWpqWLFmiyMhIa6TGhIQEPf/88xmuZbtSbGxshsFKAADZRwgDAOSp1NTUTFvCPPnwww9VqlQp1atXT+fPn9fTTz+tG2+8UaVLl3bZ9pWMMbrzzjv1+OOPZ7p9dzp16qQzZ85o0aJFXq8zadIkffTRR9q4caNWrlypiRMnemw5c3rggQf0559/Wi1ZWalUqVKGQJmYmKhZs2ZZQcqdO++8UzVr1tSUKVOsaVfWmTFGgYGBmj59ulasWJHpPd0OHTqkSpUqZVleAEDmCGEAgDyVkpLisSWsXbt2btf573//qzNnzqh9+/bavXu3Dhw4oIiICK1atcpludTU1AzdEZ0hY/z48Rnu/5WVxMREjR8/Xv3799fu3bszXfb06dN6+OGHNW7cOK1Zs0Y1atRQy5Yt9dVXX2ny5MmaO3eu2/XcBUdJmY7a2LZt2wyDbEybNk2pqanq0qVLpuUcOHCgfvzxR5f9p++O6CxPkyZNtGnTpkxHbvzqq6/Uvn37TPcHAMgaIQwAkGdOnjyplJQUt/Mef/xxLVmyJEPL1muvvaaIiAiVKFHC7Xrpr51KSUnJ0B0xs1EGPTHGaNq0aapSpYoaNGigPn366K677tLXX3/tcZ2xY8fq+PHj2rZtm2rXrm1Nv/vuu7VgwQLdf//9btcLDAzUpk2brO6I9erVU7Vq1TIMdZ9ezZo1VbBgQW3YsMGa1qtXLy1atEj+/v6ZvrZHH31Uq1evtp6npKS4dEf0tr4OHDig33//PdP7lAEAvMPoiACAXGWM0VtvvSWHw6GWLVuqQYMGatCggfbs2aOiRYtq/PjxOnnypDp37qw777xTsbGxOnv2rIKCgrRv3z5Vq1ZNS5cu1dy5c7V06VKXEfrS3/tLunz92A033GA9j4iIcHnuFBsb63Hgi8jISH3yyScqXLiw3nnnHVWvXl3jx49XUFCQ7r//frVq1Urvv/++atWq5TJwxfjx45WWluZ2oI0rW6ec9y2TpD59+qhPnz5uy3L69OkMozA6TZw4UT179tTGjRutQUVatGjhskxycnKG13nlNXalSpWyWrtGjhzptl6urK/ExEQ98cQTevfdd93exwwAkD2EMABArlqzZo3mzZunvXv3ysfHR19++aVWrlyp3r176/Tp07p48aJeffVVlxsDHz9+XH5+fvriiy90yy23WC1aDzzwgDWUuyQdOXJEN998s/W8adOm+uWXX6znFStWdCnL77//rjvuuEOpqamaOHGi2/IePXpULVu21Jw5cxQSEmJNf/XVV9WhQwd99tlnql69uqTLQ9tLUuXKlbOsh7S0NPXq1UujR49WXFxcptdaSdKwYcM0ZcoUa6j+K91000363//+p7Fjx2rUqFEu81JTU9WxY0ft2LFDnTt3znQ/P//8s/X/9K/XuZ1WrVrp559/dunKOWfOHLVq1Upt2rTJdNsAAO84TGad0AEAyIHo6GiXe1NdS7///rtq1qzpsdveuXPnFBwc7HHo+JxKS0tTampqpvf/Su/8+fMKDAzM9Jos6XJQctca5ew62bp16yy3kZmjR48qMDBQoaGh1rS0tDQ5HI5Mh9EHAHiPEAYAAAAANmJgDgAAAACwESEMAAAAAGxECAMAAAAAGxHCAAAAAMBGhDAAAAAAsBEhDAAAAABsRAgDAAAAABsRwgAAAADARoQwAAAAALDR/wOJO2zvhTrUSAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd \n",
    "# 读取数据\n",
    "data_clear= pd.read_csv('D:/python/assignment/USER_INFO_filter.csv') \n",
    "def hours(x):\n",
    "    return (x/360)\n",
    "data_clear['CALL_DURA']=data_clear['CALL_DURA'].map(hours)\n",
    "data_clear['CALL_DURA'].astype('int64')\n",
    "bins=[0,500,1000,1500,2000,2500,3000,3500,4000]#设置分布区间\n",
    "# 绘制通话时长区间频率分布直方图\n",
    "plt.figure(figsize=(10, 6)) # 设置图框大小\n",
    "plt.hist(data_clear['CALL_DURA'],8,range=[0,4000],alpha=0.8,edgecolor='black') \n",
    "plt.rcParams['font.sans-serif'] = ['SimHei'] # 用于正常显示中文标签\n",
    "plt.title('某运营商2016年3月份通话时长频率分布直方图', fontsize=20) \n",
    "plt.xlabel('通话时长区间(小时)') \n",
    "plt.ylabel('用户数（个）') \n",
    "plt.xticks(bins) \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "07ac7608",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1oAAALECAYAAAARuUEZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB62klEQVR4nO3deZyN5eP/8fcxM2YMwxgGWcq+h9JElCLZspU+KVookXxQ+aiUUiqU5aMoIrK0WFNaUCjyiTTKiLHvSyPD7GPObNfvD79zfx0zZ+YM9zRmej0fj/Ng7utervvcZ3vf93Vfl8MYYwQAAAAAsE2xgq4AAAAAABQ1BC0AAAAAsBlBCwAAAABsRtACAAAAAJsRtAAAAADAZgQtAAAAALAZQQsAAAAAbEbQAgAAAACb+RZ0BQAAQMFLTU1VZmamfH195evLzwMAuFJc0UKRNmbMGD399NP64Ycfcp13+/btuu+++/Twww97vf7Y2NgrqN2V27FjhzZt2qQDBw5kW75lyxYtWrRIGzZssHW7qampmjt3rtq3b+9x2/Bs8eLF6tmzpz777DOdPXu2oKtT4E6ePKnu3btr48aNXi9z7tw57d27Nx9rdeWOHz9e0FXIk3bt2qlEiRIaOnRonpZzOp1KTExUSkpKPtXs/+zbt08PPfSQ/v3vf+f7tnJijMnX45uZmemxLDw8XDt27MiX7R4/flyTJ0/WyZMn82X92YmMjNTp06d1/vz5fN/Wvn379MYbb+T7dgCLAYqwGjVqGElm5syZuc67ceNGI8lUrVrVq3VPnDjRlCtXzuzatStLWVpamnE6nV7X8/z58yYjI8Pr+V3atWtnJJl///vf2ZYPGDDASDLdunXL87pzkpmZaTp37mwkmbvuusvWdf8TuI6bJDN79uyCrk6BmzVrlvV8/P77725l586dM/v373ebNn36dONwOMwDDzzg9TY+//xzs3btWrdp6enpJiQkxFx77bWmdu3apl69el4/7r//fnP+/HmP29uyZYupUKGCef31172u48VSU1PN1q1bzX//+1/To0cPk5CQcFnryQvX63L48OF5Wu6xxx4zkkzHjh1znfedd94xTzzxhElNTb2sOoaHhxtJpkaNGtmWbd261ezYscPs27fP7N+/P8tj7969JiIiwvzyyy9m7969l1WHb775xpQvX974+/ubmJiYy1pHbv7973+bQYMGmX379rlNHzZsmJFkevTokS/bnTp1qpFkihUrZpYtW5Yv27hUlSpVjCTToEGDfN3Otm3bTPHixY0ks3Llyita15EjR/L0eZGXx8aNG23aY1wNCFoo0ho2bGgkmblz5+Y676+//mokmeuuuy7XeTMyMkyPHj2MJHPttdeaP//806186dKlRpJxOBymePHipkSJEqZkyZJuj4CAAOPn52f9wNy9e3ee989VhxdeeCHb8uHDhxtJ5sEHH8zzunNz/Phxq/7ffvut7esvqlyBXpLp06dPvm4rMzPTZGZm5nm5ypUrW3W8nEd2P4JzcscddxhJ5t57781SNnv2bONwOEybNm2sYLN582YjyVSuXNmr9U+aNMlIMhUrVjRRUVHW9LS0NOPn52fKli1rKlSoYCpXrmyqVKmS7SMkJMTav6ZNm5ro6Ogct/n2229bnwGeftTFxMSYXbt2mdWrV5vZs2ebF1980fTu3ds0adLE+kHoekycONGrfb0SrpMnzz33XJ6Wc33O9OrVK8f5Nm3aZH1m3HbbbSYtLS3XdSckJJj9+/ebY8eOGWOM2bVrl5FkGjZsmGXeWrVq5el1+uijj+ZpP12io6ONj49Pvp0oiYuLM6VKlTKSzLBhw9zKfv/9d+t19euvv9q+7dtvv91IMvXr1/fq+NjBFbRGjhyZr9vJzMw0N998s5FkqlevnuOJktwcPXr0ij4jc3qsX7/exr1GQaMRNoqM8PBwjR07VoGBgSpevLiKFSumqKgoSdKcOXNybT537tw5SVJ0dLT69euntLQ0paSk6Pz581qwYIHKly9vzVusWDF9+umnatu2rbZu3aoePXpo48aN8vf3lyQ5HA75+/vL399fxYsXl4+Pj4oVK6ZixYrJXDjBoczMTGVkZCg1NVXnz5+Xw+HItl433HCDTpw4oeLFi1sP17yu5h2zZ8/WihUrsix75swZSdI333yj+vXrW9PT0tLkdDrldDp111136dNPP7XKunbtqt9++00BAQHy9fVVsWKeWxi7yvr27asKFSpkO096erpSU1PldDqVmpqqiIgIXXvttR7XmZmZad0nUtRkZmbq2WeflSQFBwdr6tSp+bKNWbNmacaMGdq5c6cyMzNVoUIFde/eXa+++qqqVKmS6zoCAgIkSR06dNA111zj9bYPHDig//3vfypbtqzXyxw6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GOnCVXZXU7mzZ8+aqlWrmuuuu87tKvKSJUtMQECAkS40G82tl8X4+HireeVNN93kVTjfuXOndUW4UqVKZtu2bbkuk52NGzcah8NhHA6H23u+bdu25vbbbzfbt2+/rPV6w3XVsUqVKle0nttvv91j51PFihWzThpk9zrw9AgMDLReQ5cGrYSEBI+f1a7vreyah1/cWuPjjz92W84VtC7teRWFW9G72xzIxldffaWvvvoq37ezYsUKffHFF9aNv65OMDzdUO3q+MF103RKSoo++eQTt3lmzpypwYMH51udlyxZon/961+5ztekSRNNmTJFn332mR588MEs5cuXL5ckvfLKK17dnJ2UlKTAwECFhYXplVdeyXaesLAwLV++PMuYLjNmzJB0oaOQ3r17u5WVKVNGAwYM0MSJE/Xtt9/qoYcecivv3bu3IiIiNGDAAN1///3q0KFDrnV1SUlJ0cMPP6y0tDT17Nkzy7qzM23aNE2ZMkWSdOONN2rcuHFeby8v7rrrLiUkJCg5OTnb8hMnTlj/96ZjBEmaMGGC5s2b53UdDh065PW8w4YNU1paWrZl8fHxVqchzz//vIKDg7Odr0+fPho3bpx2796tl19+We+++67X25f+r0OF4OBg9ejRw63M1bFH/fr11aJFC7eyzZs3a9++fSpevHietvfdd9/pl19+UfHixa1BgS/+fHB1jrFgwQKFhIRIkowxVkcAaWlpKl26tIYMGWKt05v3WrFixbR169Zc57vvvvu0fPlyjRgxItuOSby1bt063XvvvYqPj1flypW1fv161atX77LW5emz0xNfX18lJSXp2muvVWhoaLbzbNu2TVL2nXcMHDhQfn5+Gjp0qBYuXKhTp05p8eLFmj59ul577TV16tRJn3/+uUqUKKHExER17dpVJ06cUPXq1RUUFKTz58/rmWee0QcffCBJGjJkiN5++235+fnlWO9Bgwbp0KFDCggI0Pz5863OPHLSqFEjLV26VD179lRUVJTatGmjDz/8UA888ECuy7qcP39ejz/+uIwxGjp0qNq3b2+Vbd26VUlJSR7fp3kxfvx4vfjiix7LT548meOxbtu2rdavX++xfPXq1fL39892HU2aNNEff/yhjz76KNvvrtxkZGTkOK7ZxSZMmGB9F9apU0cbN25UqVKlrPLhw4fr3XffVffu3dW3b9881wWFD0ELRZoxRpL00UcfqV+/fjnOu2nTJt122225rjM9PV3nzp1z61XQ9WNn165dWrBgwRXV+dKgFRgYKEmqWLGiOnXqdEXrvtjKlSsVExPj9iVwMR8fH49fLjVr1vS43vvvvz/b6QcPHnRbrmTJktn2lHixU6dOSZKCgoLcpv/00085bqtLly6aOHGiVq1alSUMlStXTsuXL9e9996rH3/8McftX+rFF19UZGSkypcvb/2Qysknn3yi4cOHS7oQABcvXpznH+d54XA4VLJkyWzL3nnnHUnS9ddfrxo1ani1vnXr1tlWt4stXLhQa9as8Vg+bNgwHT16VDVr1rQCV3aKFSum6dOnq3379po+fbq6dOmS5T0SGRkpHx8fK9wUL15cFStWlPR/QatKlSpZAuW8efP0v//9T3feeaemT5/uVvbkk09mG7QWLVqU7Q+5NWvWqEOHDlq/fr3eeustj/vjMmbMGI9ljRo1cgta3gQRb3602+mmm25SvXr1FBUVpfXr16t27dqXtZ7HH39cR48elSRFRESoX79+SkhIkCQdO3ZM/fr1kzHG6rl1zJgx1jEZNWqUnnzyyWzX6+vrq8zMTI/vxf79+6tRo0bq37+/3nnnHc2fP98Knvv27dMNN9wgSYqLi1NUVJSuv/56rVu3TqGhoUpPT9eff/4pf39/zZ07V3369Ml1P8eOHavPPvtMkvTf//43294QPencubNWrlypXr16KSkpSQ8++KC++uorTZ061WPQvNhzzz2n/fv368Ybb9Tbb7/tVubv72/14nilXJ9LQUFBqly5stfLxcbG6vTp09b3oCc51TEjI0OScg27nvj4+Hj1HpoyZYpGjRolh8OhDh06aM2aNerUqZO+/vprBQcHa+7cuXr33XdVt27dPJ3AQuFG0EKRdjkjzed29m7Pnj26/vrrs0y///77NWjQIL3yyivy9/eXn5+ffHx85HA49MorrygxMVH33HOPFebM/+/mPSMjQxkZGdYVrUu5vqDq169v64dzs2bNFBMT4/HHRokSJZSUlKQnn3wy166sc/Lmm29KkscA4ElGRoa++OILSXI7y3rmzBnFxsZKklq1apXtsk2aNJF04VhdauXKlZf1hbtx40arO/ZOnTrpvffeU0xMjCpWrKiuXbuqadOmWZYJDg7WnXfeqfXr12vhwoX6888/1bVrV4/buLi770aNGlndUbuuerq6yV+6dKnbc5KT06dPa/z48Xr33XcVEBCgmTNner3P33//vdfbkS6Ek/79++c4z+HDhzV06FBJF7p//vrrr93KP/30U82fP1/Shau5uXV13K5dOw0ePFjvv/++HnzwQf3vf/9z+6F67733au/evdbfN954o3VF40q7r/b03nFdrXI6nTLGWD8S7733XjVo0MAapqFYsWLWZ4R0oav2pKQkzZkzR6GhoVmGgkhLS8vyg9J1kmf69OlatGiRNf3i11Jerwp5Eh0drcTERAUGBsrPz89ar9PplHThs9P13pw3b55SU1NVvnx5a5onrqBkjFH16tWt6evWrbOC1okTJ6zXhSTFxMS4/S1J//73v70+prmd8Lj55pu1c+dO6+TFiBEjJF34Tqlataq2bNmi1NRUXX/99frhhx+sz0hfX1998sknioiIUOvWrXOtx6xZs6xgfc899+j+++9XSkqK1SLCm2PXsWNH/fDDD+rRo4f+/PNPffrpp/rmm2/05ptvuoXyS02bNk3Tp09XpUqVtGLFiiyvLVe4sCOouz5zu3Tp4vY6zY2rRceVdHnuen3mZ7fpiYmJ+uKLL+RwODRjxgwNHDhQDz74oBYvXqwWLVronnvu0dtvv62qVatqzZo1eRoCA4UbQQtFmiu49O/fP9cfgC65hTMfHx8FBwfL399fAQEBSklJ0enTp1WyZEm1a9dO7dq1c5v/xIkT1ln5119/XY0aNcrTPmQ31s5zzz3ncbyRnDz++OMaOXKk27TExMRs5w0ICFBSUpKGDx/uNgaXdKFZ1aVnqX/++WfddNNNWX7AuIJWXq/kfPTRRzp27JgcDoeefvppa/rZs2et/9etWzfbZUNCQuTn56fDhw9nKbuckJWamqpBgwZZV0h//PFHxcTEKDExUVu2bNHo0aP18MMP6/3333e7Qnj33Xfr7rvvtsZ6+vHHH7V37175+Phk23wvPT3d+n9iYqIVsowx1thnqamp1hnanERERKhPnz7avXu3jDGqWLGiFi9e7DGc/h2cTqe6deumuLg43XnnnRo2bJhb0Priiy/06KOPSrowTlHfvn0VFBSU6zFzOp0qX768oqOj1b59e61evdoK26VKldI111wjHx8fnThxwu3MuOtH+f79+7O8xuPi4iRduCq5du1atzLXuD+Xvqbvu+8+3XPPPdYPukvHxbn55pt18803e9wPV33atWvnFjhy4vohfvbsWbf3hidr167V+vXrL6sJq6v5nCdLlizRkiVL8rxel6ZNm2r79u3W39u2bcsyFmF0dLTWrVungIAA9ejRwzoJkZycrJIlS2r16tVu6xw7dqyWL1+uW265JU8nGaQLz210dLSqV6+uzz//XK1bt1aFChU0atQobdy4UQ0bNtT333+v0qVLa8aMGXriiSfk6+urwMBAbd++XTfeeKNKlCjhcf3vvvuu9dnWvHlzde7c+bJPalWvXl3h4eHq1auXtmzZooSEhByvXH/++efWttPS0rJtQu0aW/Luu+/2+Pl9yy236KOPPsq1fq7X9i+//JJr65KLuU6SXEnYczWnzulYXKlSpUpp3bp1Wrt2rTp37izpwmfHuXPn9P333+utt95SyZIltXbtWq/f2ygaCFoo0nr06KGYmBi3aampqVYzDdePuovl9qOuQYMGbut0ncX3dLbMFYhuvfVWt5CVmpqqEydO5NgMT5LVVOZiMTEx2rt3r0JCQrz68khISFB8fLzbuh599FGdPHlS1113XbbLeDozHBkZqbCwMN15552aMWOGqlSpoh9//FGdO3dWnTp19Mknn2R7xS8vZ9X//PNPPf/885Kkxx57TM2aNbPKXGcnJXm8d0e60FQvOjpaTqfzis9kvv/++9bVsbfeekv/+c9/rCsJ0dHRGjhwoBYuXKgTJ05o7dq1We6bcQ1Y6XptVa1aNdtBTvfs2aMGDRpIko4ePXpFV1wcDocyMjKscBgXF6effvpJbdq0yfVYXBz47OTv768+ffpo2rRpWrhwoXbt2mWV/fTTT+rdu7fS09PVrl073XzzzZowYYI16HZOAgICtGnTJt1+++1KSUnRyZMnraAVHh4uSTpy5Ihq1Kjh9lpw/XhLTU11u+p1sdjY2FyvyLi4rmRlNz2/uF5rY8aMcbuv6uLXkssPP/ygu+66S9KF+x/vueeePG8rMDDQuqLl2rbrsyUwMNDtTH1iYqLi4uLk7+/vNuD7xYwx1kC0lz5PrtCxZ88eVapUScHBwTp48KAefPBBVa1aVT179rSadXl6jzscDu3YsSPPV9QTExM1dOhQ7d27Vz///LP1XI0ZM0YTJkxQWFiYvv32W5UvX1533HGHNmzYoGPHjmn8+PF67bXXNHbsWE2bNk0ff/yxbrrppizrT09PV0REhIwxqlOnjr755ht9//33earjxapXr67KlStr48aNeuGFFyRduHqUnY8//liPPfaY1TQ8t5Ce3Qkrl1q1anlVP9dnzpEjRzwO8JyTKxmU2fV93a1btzwFtvnz56tXr15ez+/n52eFrF9//VWTJ0+2vg9cJy47dOigJ598Ug8++CCB65/ib+9+AyhgF49/YQdXT2tDhgzJtvyWW24xkty6Cz569Khp0aKFqVWrVrY9X+XGNcjr0qVLvZr/9ddfN5L3g1saY6wxnS4e/+fkyZOmevXqRrowKK1rINQ//vjD6skvICDAzJo1y1rG9Vx72wV+RkaGadeunZFkatSokaU3uT/++MNIF8bNyknlypVz3e4PP/yQa6+DmZmZVu+Eri6mL3X+/HmrO9+VK1d6XJeri3VP27uSXgc9OXHihHn++eet7rpz6vXQxdVten71Onj69GljzP913d28eXOTmppqhg0bZho3bmxiYmJMQkKCSUhIsJ6TSpUqZVnP5s2b3Xos++qrr6wuty91+PBhI10YPNTl/PnzRsq+e/mc3teugV1/+OGHHPczr72IXU6vg66xr3LqdfDi15Jr/muvvTbLuGCu3tK8HVzXxVP37v/73/+sniNzGhMqN61btzZ+fn5m0aJFZvv27UaSqVOnjlX+zjvvmIiICJOSkmINaTFjxgxjjDHjx483kswDDzxgze/j45Njt/WrV6+2eoe79tprzZkzZ0x0dLR56KGHjCTTtWtXt55cV6xYYaQL3eZv3LjR7Nu3zzRr1sxIF8b7mjJlisdtzZ492xw9etQYc6HH1IMHD5qoqChz5swZM2nSJCPJ1K5d28TExGT7ePjhh40k89BDD7mt19NYUm+99ZbVhbxrf3x8fLKdN7vvAJdp06YZSeaee+7xuG+X7qck07t3b6/md5kxY8ZlLecSHx9/2b2Kbt682eN6L+11MDY21qxfv96MHj3aXH/99VZZ69atTXh4uImKijIDBw60utF3fe4MHjzYTJ8+3aSmptLrYBF1+acIAORq8+bN2rx5s2644Qa3Xs1CQ0OVnJysgwcPerxhOyeXe3bvSs4KHj16VG3atNGRI0fUqVMnrVq1yupUoHHjxtq6dauGDBmilJQUDRw4UIMGDbqsKyMvv/yy1q9fr4CAAC1ZskRlypRxK3c1/crtKoFrXz31wuetAwcO6Pjx45Iu9EiWnYCAAKsThpx6t/y7OyWQLnT0MGHCBE2aNEmSNHnyZO3cuTPHZZKSkiRduJpYv359rx+jRo3yqk4VKlTIMs3Pz0/vvPOOfvrpJwUHB6tUqVIqVaqUdQXz0teB9H/NakuXLi3pwj1fOTXNu1RBHA+7edOM9GLTp09XQECAjh07ZnWQkl9atWqlunXrKi4uTnPmzLmsdZw4cUKbN2+Ww+FQu3btrCv4rn+PHj2q4cOHq2nTpjp48GCW5V1XbbzpGOLQoUPq0aOHOnXqpIMHD2rw4MHauXOnvvzyS9WoUUMff/yxdeWsffv2qlmzpkqWLGld7crMzFS/fv1UuXJlbd68Wf3791daWpqeffZZjz2rDhgwQNdee62kC6/xmjVrqmLFiipfvrz+/PNPSRfuzw0ODs72ER0dLenCVfKLXXrVOjY2Vvfff7+ef/55GWM0YMAAqzfUK5Gf9z3ZwXWlulixYkpISLDue/T02L9/v7VslSpVvN7O559/rnbt2umNN97Qrl271LFjR33//fd69NFHNW3aNB08eFAffPCBDh06pBdffFGVK1fWrl27NGPGDP3222+X3VEHrn40HUSRcPz4cQ0aNMjqCdBTN6+S+z1PubUVN/+/R6vk5GQtXLjQ+kHnjczMTOsG6nHjxrnVp0SJElq2bJmaNm2qzz77TF27dvWqdyoXV3h47733snQmkJ0dO3a4LZdXW7duVY8ePRQVFaWbb75Zy5cvz/IFW7x4cU2fPl3NmzfXoEGDtG7duhybnGRnyZIl1r0jH3zwQbZNblzdXqelpSk6OtpjkyRXcxHz/5vOXa6Lm67l9CPeFTqPHTvmcZ4rCbpXasiQIRo9erSSkpK0bt06NW7cONv5jDHWPUiugPl3urQ5aFRUlCRl21OZ672c12ZhLq4TAZd7j9bl2rp1a5Yu4y+W3b01o0eP1uuvv55lujdB6+L3QOXKldW3b1/NmTNHEyZM0KBBg/L1xvxBgwZpxIgRGj9+vB5++OE834M0f/58ZWZm6v7771doaKh1XFyfp0uXLpUktWzZMtve+lydG7k+N3Jy9uxZrVmzRiVKlNDcuXOtbtIbNmxoNbsuW7aszpw5o61bt1qBpUaNGvLz89PYsWN16NAhzZo1S88884zmzp2rmjVr6ttvv3W7z9RbrhMil742L+YKY5cGrYslJSWpZcuWVugYMmSIpk2b5tU9fbnJ68mKxYsXa/HixVe8XW/99ttvkqR69ep57GH3Yhe/t12f6d7o37+/wsPDVb16dd1///267rrrlJqaqn79+unkyZOaP3++GjRooP79+2vw4MEaO3asNmzYoK+//tpjCEfRQNBCkZCUlKRVq1bleblLe63KSXadUuTkjTfe0ObNm9W9e/dsu2WvU6eOhg0bprfffltDhw5Vu3btvB7fyNVhR167J7/coLV582bFxMSoffv2OnLkSI4/bPv376/ly5frpptu0jXXXOP1NrZs2WIF31GjRumRRx7Jdr7g4GAFBQUpISFBhw8fzjZoJSYmWldlvPlyzcnFP/xzuicsPj5e0v/96Hc6nYqNjVXx4sXl5+en4sWLX3Hok2T1QJeSkqLz589bV4eMMTp27JiCgoKy/VHp5+en6667TpGRkdne9+dy+vRp68dpTExMjvt8KW96Hcwr11WK7O4FcV3tutzup11By657tLzleo34+/vnOubRpk2bdPDgQY/dW3szvk9GRobbGfNnnnlGkjR06NB87/3sqaee0rvvvqujR4/q6aef1sKFC71eNi0tzRozz9VT5cXOnz9v9QTqOql1afD866+/JGUdOy675y0sLExz5sxRvXr13E7y3HLLLVqzZo2aN2/u1rtgRkaGhgwZYt1DWq9ePVWoUEEtW7a0lh09erRefPHFPJ9kSUtL06ZNmyRduL/XE9cQGNWqVfM4T8mSJbV48WJ16dJFjz32WLaB/e9SvXp13X777V7Pv3fvXm3ZsuWyt7dx40ZJ/3efbG5cQats2bJ57sDpvffec/u7ePHi2rlzp+bPn6/p06dr9+7deu655xQVFaXJkydn23kWih6CFoqE2rVrW2OXuB4Xn2k7ceKE6tevr+TkZK1evVodO3aUdOHHaZs2bfTTTz9p06ZNbt3xmv/frXJaWpqSkpLy9IPk5Zdf1htvvCHpQpOV4cOH68yZM/rrr7+sf6Ojo60feufOndNTTz2lzz//3Kv1L1y4ME8/WK7U8OHD1a5dOzVs2FB33nmnDhw4oM6dO7s1Adu2bZt27typEiVKqFu3bnlaf2RkpLp166bz58+rd+/eVk+Fntx000364YcftG3bNoWFhWUpd30xBwUFZdvkLC9q1qxp9S65Z88e3XjjjdnO98svv0iS1QHBDz/8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6FD9/PPPeu211/TKK6/orbfeUps2bdS6dWs1bdpU5cqVU0hIiNXbmDFG6enpVs9xcXFxiomJ0enTp5WSkuKxuYirXXx4eHiuXdNnJzw8XJJ3Z8w89Wb2+++/e7293K5uff/9916v61Jly5bV//73P7300kuaPXu2ta06depo6tSp6tKlS67ruOOOO/LUTKNOnTp666239NZbb112vXOSUwcG3goKCtKrr77q1ozMG6+++qoOHjyogIAAr8fDOnTokE6fPi0fHx8lJibqo48+kiSvm+m49vfi1+PevXv1r3/9S3/88YfKly+vzz77zGrCderUKS1fvlwOh0MnTpyw7pdr0qSJx23s2bNHPXr00L59+9SiRQs1bdpUP/74o2bNmqVZs2apTp06uu222zR16lTVqFFDoaGhKlWqlEqWLGldiYqIiLCGebj33nsVHx+v2bNn66+//tKhQ4c0bty4LL2+RUZGWlcT27dvrwULFljvX9dVqIyMDI+9HV7K03u2bt26SklJyXKVoGTJktn2dupJZmam9u3bJynv99+4OixxdTxRvnx5vfPOO9kOWVGjRg1t27ZN/fr108qVK5WUlKTXXntNEyZM0PLly92a+6akpOi7777Thx9+qG+++UaZmZkqWbKk3n33XY9Xq48dO6Z+/frphx9+0DXXXKNly5bJz89P9erVU/v27fXNN9/orrvu0ksvvaRXX331su81ysvnRm727dun//znP9YYfDfddJO+/fbbLL277t+/X8uWLVNaWpr27NljNcHLy9hxF/Pz81Pr1q1zvf/P9e9NN92km266SeXKldMtt9yivn37qnbt2tku+9dffykwMFD+/v55agKdm4yMDKWmpiopKUkhISFZjt+kSZP02muvSbrQ7NJT5ybZ1feVV17R0aNHJV14X+Xk4vejN61fLuap18eTJ09mWTeKgAKNeYBNVq1aZZ0B1/8/Q/fcc89le9Y5Ojrami89PT3b9S1btsztapWPj49Zvny5McaYyZMnW9NffPFFt+V27Nhh7r77buNwOLy+UnPp48033/S4n++///5lr/fiR+fOnXN9ToODg7O9opWb+Ph4s3r1avPll1+ahx9+2NpmQkJCntaT121u2bLFOvNaWG3dutV6vpKSkv627V78unrttde8Xi48PDzb19d7773n1fKfffaZkWRq1apljLlwRS8wMNBIMsHBwea3335zmz8lJcWULVvWbVs33nijxzPE27dvN2XKlDGSTIsWLazPg8zMTPPdd9+Znj17mhIlSlzRe6lhw4Ye92/GjBmmSZMmWa6Mu652lStXLtfn6NFHHzWSzLhx43KdN69Onz5tmjVrZurWrWtdwZZkPvroI6/XcfFrVpLp0qWLOX36tFfLzpw504SEhBhJZurUqW5lBw8eNNWrV3dbd9u2bc3evXuzXVd4eLgZPHiwdTxr1qxp9uzZ4zZPZmamef31102xYsWMJNOhQwdz7tw5r/f1Yq46/frrr5e1vDHG/PXXX+a+++6zro5JMvfff7/H935qaqqpU6eO23Ny3XXXmVOnTl12HXLiupp6OVft/P39bfmuyunx559/WttLTk42//73v62yRx55xLqCnJ2UlBTTsmVLU6tWLVO+fHm39darVy/Xq1RHjhzJt/1av359np9vXL0IWigSYmJizP3332/9oPrll188znvs2DHrAy0+Pt7jfHFxcebFF180gYGBZt68eW5ljz/+uBk7dqzHZU+cOGE+/PBDM2jQINOmTRtTp04dU7ZsWRMQEGB9yXt67N+/3+N6p06daqQrbzrYrFmzXOd1/WDJa9BKT083tWvXdtunS5uGIXubNm2ynrPL/QGYV+np6ebVV181FSpUMLfddluemyzecMMNxuFwmEqVKpl27dqZiRMner2OBQsWGEmmSpUq1rRp06aZmjVrml27dmW7zKhRo8ytt95qnnjiCfPJJ5/k2IQvIyPDDBs2zAQEBJh9+/ZlO09ycrJZv369mTx5snnqqadM9+7dza233mqaNm1q6tSpY6699lpTuXJlU6FCBVO+fHnrUaFCBVOpUiXz9NNP57iP2X3G/Pzzz3kOWi+99FKu816Od955x3rN+fr6ml69epnk5OQ8rWPgwIHG4XCYN954w2NzPk+io6PNnDlzsi2LiooytWrVMjfffLP54osvPK7j7NmzpkOHDtZ+9OjRw0RHR3ucf8mSJaZ48eKmSpUqWcKYN5xOp7WtK23mNX36dCPJhIaGmgULFuQ6/9ixY021atVM586dzfvvv5/jd9iVcjVj3Lx5c56XrVChggkNDTXVqlUztWvXzrWJrLeP6667zlSsWNGUKVPGLdAPHz7cOiaPPfZYjiHLZeTIkW7fUyVKlDD333+/OXr0aK7LHjhwwFrucpt5X8rVdPC7776zZX24OhC0UGRkZmaatWvX5vpFv3nzZusDMioqKtf1ZndvkTcf4vnhzTffvKKglReuq3J5DVrG/F+gq1ixohk+fLhXzzOMWb9+vfXaPHHixN+67bNnz5rY2Ng8LxcfH29SU1NtrYvdVz83bdpk6/qKksOHD5v33nvPrF279rJ/tKekpJhvvvnG5ppdkNt9Si7p6elm2LBhZtGiRV7Nv2TJErNly5bLqtPZs2et96kdP4qXLFni8X7ggpKZmWnt46X3x16tJk6cmKcr8ps3bzYvvPCCmT17ttmyZYtJSUnxetm9e/fmW9D69ttvbVkfrg4OY+hHEoC9jh49qtTUVNWpU6egqwIAAFAgCFoAAAAAYLOrf2hvAAAAAChkCFoAAAAAYDPG0fJCZmamTp06paCgoMsafR0AAABA0WCMUUJCgipXrpzjeHwELS+cOnUqy2CUAAAAAP65jh8/rqpVq3osJ2h5ISgoSNKFJ7N06dIFXBsAAAAABSU+Pl7VqlWzMoInBC0vuJoLli5dmqAFAAAAINdbiugMAwAAAABsRtACAAAAAJsRtAAAAADAZgQtAAAAALAZQQsAAAAAbEbQAgAAAACbEbQAAAAAwGYELQAAAACwGUELAAAAAGxG0AIAAAAAmxG0AAAAAMBmBC0AAAAAsBlBCwAAAABsRtACAAAAAJsVWNCaN2+eHA5Hlse8efO0c+dOhYWFqWzZsho5cqSMMdZy+VEGAAAAAHYqsKDVp08fxcTEWI/jx4+rfPnyuuWWW9StWzc1b95c4eHhioyM1Lx58yRJTqfT9jIAAAAAsJvDXCWXdsaNG6ejR4+qc+fOeuyxx3TixAkFBgYqIiJCQ4YM0aZNm/TFF1/YXuaN+Ph4lSlTRnFxcSpdunQ+PxMAAAAArlbeZgPfv7FOHqWkpOidd97RL7/8ovnz56tly5YKDAyUJDVp0kSRkZGSpIiICNvLAAAAAMBuV0XQ+vTTT9WyZUtVr15d8fHxqlGjhlXmcDjk4+OjmJiYfCkrW7Zslvo4nU45nU7r7/j4eLt3GQAAAEARdlX0Ojhz5kw9+eSTkiRfX1/5+/u7lQcEBCg5OTlfyrIzfvx4lSlTxnpUq1btSncRAAAAwD9IgQetAwcO6MCBA2rfvr0kKSQkRGfOnHGbJyEhQcWLF8+XsuyMGjVKcXFx1uP48eNXupsAAAAA/kEKPGgtWbJEXbt2lZ+fnyQpLCxMW7ZsscqPHDkip9OpkJCQfCnLjr+/v0qXLu32AAAAAABvFXjQWr16tdq2bWv93aZNG8XFxWnBggWSpAkTJqh9+/by8fHJlzIAAAAAsFuBdu9+/vx5BQcHKyIiQvXr17emf/HFF+rTp4+CgoKUkZGhDRs2qFGjRvlWlhu6dwcAAAAgeZ8NrppxtC518uRJhYeHq1WrVgoNDc33spwQtAAAAABIRSBoXU0IWgAAAACkQjZgMfImKipKsbGxBV0N2Cg4OFiVKlUq6GoAAADAJgStQiYqKkpdut+j2ISkgq4KbBQcVFLfrlxB2AIAACgiCFqFTGxsrGITkhR6xyMKLHdNQVcHNkg++6fO/LhAsbGxBC0AAIAigqBVSAWWu0alKl5X0NUAAAAAkI0CH0cLAAAAAIoaghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYjKAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYjKAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYjKAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYjKAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYjKAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYLMCD1ovvPCCunXrZv29c+dOhYWFqWzZsho5cqSMMflaBgAAAAB2K9CgtXPnTr3//vuaOnWqJMnpdKpbt25q3ry5wsPDFRkZqXnz5uVbGQAAAADkhwILWsYYDRo0SE8//bRq1aolSVq1apXi4uI0ZcoU1apVS+PGjdOcOXPyrQwAAAAA8kOBBa3Zs2dr+/btqlGjhr7++mulpaUpIiJCLVu2VGBgoCSpSZMmioyMlKR8KQMAAACA/FAgQSsxMVGjR49WnTp1dOLECU2ZMkVt2rRRfHy8atSoYc3ncDjk4+OjmJiYfCnzxOl0Kj4+3u0BAAAAAN4qkKD1+eefKykpSevXr9fLL7+s7777TrGxsZo7d678/f3d5g0ICFBycrJ8fX1tL/Nk/PjxKlOmjPWoVq3aFe4xAAAAgH+SAglaJ06cUIsWLRQSEiJJ8vX1VZMmTZSSkqIzZ864zZuQkKDixYsrJCTE9jJPRo0apbi4OOtx/PjxK9ldAAAAAP8wBRK0qlWrpvPnz7tNO3r0qCZPnqwtW7ZY044cOSKn06mQkBCFhYXZXuaJv7+/Spcu7fYAAAAAAG8VSNC6++67tXv3bs2cOVMnTpzQu+++q+3bt6tDhw6Ki4vTggULJEkTJkxQ+/bt5ePjozZt2theBgAAAAD5wbcgNhoSEqLVq1drxIgRevbZZ1WpUiUtWrRItWvX1qxZs9SnTx+NHDlSGRkZ2rBhw4WK+vraXgYAAAAA+aFAgpYktWzZUv/73/+yTO/Zs6f279+v8PBwtWrVSqGhoflaBgAAAAB2K7CglZMqVaqoSpUqf1sZAAAAANipwAYsBgAAAICiiqAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYjKAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYjKAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYjKAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYjKAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYjKAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYrMCC1tChQ+VwOKxH7dq1JUk7d+5UWFiYypYtq5EjR8oYYy2TH2UAAAAAYLcCC1rbtm3TN998o5iYGMXExOj333+X0+lUt27d1Lx5c4WHhysyMlLz5s2TpHwpAwAAAID8UCBBKz09XTt37lSbNm0UHBys4OBgBQUFadWqVYqLi9OUKVNUq1YtjRs3TnPmzJGkfCkDAAAAgPxQIEFrx44dMsaoWbNmKlGihDp16qRjx44pIiJCLVu2VGBgoCSpSZMmioyMlKR8KQMAAACA/FAgQWv37t1q1KiRPvvsM0VGRsrPz0+DBg1SfHy8atSoYc3ncDjk4+OjmJiYfCnzxOl0Kj4+3u0BAAAAAN4qkKDVt29fbdmyRWFhYapRo4amT5+u7777TpmZmfL393ebNyAgQMnJyfL19bW9zJPx48erTJky1qNatWpXuMcAAAAA/kmuiu7dg4ODlZmZqUqVKunMmTNuZQkJCSpevLhCQkJsL/Nk1KhRiouLsx7Hjx+/wj0EAAAA8E9SIEHr2Wef1ZIlS6y/f/31VxUrVkzXX3+9tmzZYk0/cuSInE6nQkJCFBYWZnuZJ/7+/ipdurTbAwAAAAC8VSBBq1mzZnrppZe0ceNGrV+/XkOHDlW/fv3UoUMHxcXFacGCBZKkCRMmqH379vLx8VGbNm1sLwMAAACA/OBbEBt95JFHtHv3bvXo0UNBQUG65557NG7cOPn6+mrWrFnq06ePRo4cqYyMDG3YsOFCRfOhDAAAAADyg8MYYwq6Epc6efKkwsPD1apVK4WGhuZ7WW7i4+NVpkwZxcXFFXgzwj179qjLPffrul7Pq1TF6wq0LrBH4umjOrr8LX27Yonq169f0NUBAABADrzNBgVyRSs3VapUUZUqVf62MgAAAACw01XR6yAAAAAAFCUELQAAAACwGUELAAAAAGxG0AIAAAAAmxG0AAAAAMBmBC0AAAAAsBlBCwAAAABsRtACAAAAAJsRtAAAAADAZgQtAAAAALAZQQsAAAAAbEbQAgAAAACbEbQAAAAAwGYELQAAAACwGUELAAAAAGxG0AIAAAAAmxG0AAAAAMBmBC0AAAAAsBlBCwAAAABsRtACAAAAAJsRtAAAAADAZgQtAAAAALAZQQsAAAAAbEbQAgAAAACbEbQAAAAAwGYELQAAAACwGUELAAAAAGxG0AIAAAAAmxG0AAAAAMBmBC0AAAAAsBlBCwAAAABsRtACAAAAAJsRtAAAAADAZgQtAAAAALAZQQsAAAAAbEbQAgAAAACbEbQAAAAAwGYELQAAAACwGUELAAAAAGxG0AIAAAAAmxG0AAAAAMBmBC0AAAAAsBlBCwAAAABsRtACAAAAAJsRtAAAAADAZgQtAAAAALAZQQsAAAAAbEbQAgAAAACbEbQAAAAAwGYELQAAAACwGUELAAAAAGxG0AIAAAAAmxG0AAAAAMBmBC0AAAAAsBlBCwAAAABsRtACAAAAAJsRtAAAAADAZgQtAAAAALAZQQsAAAAAbEbQAgAAAACbEbQAAAAAwGYELQAAAACwGUELAAAAAGxG0AIAAAAAmxG0AAAAAMBmBC0AAAAAsBlBCwAAAABsRtACAAAAAJsRtAAAAADAZgQtAAAAALAZQQsAAAAAbEbQAgAAAACbEbQAAAAAwGZXRdDq1KmT5s2bJ0nauXOnwsLCVLZsWY0cOVLGGGu+/CgDAAAAALsVeND65JNPtGbNGkmS0+lUt27d1Lx5c4WHhysyMtIKYPlRBgAAAAD5oUCD1rlz5zRixAjVq1dPkrRq1SrFxcVpypQpqlWrlsaNG6c5c+bkWxkAAAAA5Affgtz4iBEjdM899+j8+fOSpIiICLVs2VKBgYGSpCZNmigyMjLfygAAAAAgPxTYFa0ffvhB69at01tvvWVNi4+PV40aNay/HQ6HfHx8FBMTky9lnjidTsXHx7s9AAAAAMBbeQ5a6enp+vTTT/Wvf/1LLVq0UIcOHTR8+HBt3brV63WkpKRo0KBBmjFjhkqXLm1N9/X1lb+/v9u8AQEBSk5OzpcyT8aPH68yZcpYj2rVqnm9bwAAAACQp6C1a9cuhYWFacuWLRoxYoS++uorffDBB7rllls0bNgwPfLII0pMTMx1Pa+//rrCwsJ09913u00PCQnRmTNn3KYlJCSoePHi+VLmyahRoxQXF2c9jh8/nus+AQAAAICL1/do/fLLL+rfv7/mz5+vsLAwt7IaNWqod+/eGjNmjDp27Kj169dnuYp0sU8//VRnzpxRcHCwJCk5OVlLlixR9erVlZaWZs135MgROZ1OhYSEKCwsTB9++KGtZZ74+/vnWH8AAAAAyInXV7Ree+01LV26NEvIcnE4HBo7dqzuuOMOq7t2T3766Sft3LlT27dv1/bt29W9e3eNHTtWGzduVFxcnBYsWCBJmjBhgtq3by8fHx+1adPG9jIAAAAAyA9eX9H69ttvvZrvzTffzHWeqlWruv1dqlQplS9fXuXLl9esWbPUp08fjRw5UhkZGdqwYcOFivr62l4GAAAAAPmhQLt3d7l4AOGePXtq//79Cg8PV6tWrRQaGpqvZQAAAABgt8sOWh999JEaNmyoFi1a2FkfSVKVKlVUpUqVv60MAAAAAOx0WeNoZWZm6pVXXtHcuXPtrg8AAAAAFHqXFbTef/99nTt3Ti+//LLd9QEAAACAQi/PQevQoUMaPXq0pk6dmqVTCwAAAABAHoPWmTNn1LFjR/Xp00dPPPFEftUJAAAAAAo1r4JWQkKCduzYoRYtWqhLly56//3387teAAAAAFBoedXr4IgRIzRv3jy98847Gjx4sB599FGtW7dOxYplzWnp6elKS0vTmTNnbK8sAAAAABQGXgWtp556SqdOndKECRPUtGlTPfvssxo8eLACAgLkcDis+YwxSk1NVWpqar5VGAAAAACudl4FrWbNmunrr7/WzJkz1bVrV82bN0/du3fP77oBAAAAQKGUp84wnnzySS1fvlyPPPKIfvzxx3yqEgAAAAAUbnnu3r1t27aaPHmy/vWvfykqKio/6gQAAAAAhdplDVj8+OOPq3Hjxho6dKjd9QEAAACAQu+ygpYkvfHGG2rYsKGddQEAAACAIsGrzjCy07p1a7Vu3drOugAAAABAkXDZV7QAAAAAANnzOmjdfffd2rNnT67zjR49WitXrryiSgEAAABAYeZ10Hr55ZfVq1cv/fbbbx7nGTNmjNavX68OHTrYUjkAAAAAKIy8DlotW7bU4sWLNWDAAA0fPlxbt25VdHS0jhw5okWLFqlFixY6dOiQVq9erYCAgPysMwAAAABc1fLUGUbjxo21detWLV26VFOmTNHRo0dVunRp1a9fX9OmTdPNN9+cX/UEAAAAgEIjz70O+vr66sEHH9SDDz6YH/UBAAAAgEKPXgcBAAAAwGYELQAAAACwGUELAAAAAGxG0AIAAAAAmxG0AAAAAMBmBC0AAAAAsBlBCwAAAABsRtACAAAAAJvlOWilpqbq9ddfz3GeTz75RAkJCZddKQAAAAAozHzzvICvryZOnKg///xTVapUUb169dSqVStVrlxZkrR9+3YNHjxY1atXV+vWrW2vMAAAAABc7fJ8RatYsWIqWbKkmjZtqrS0NH311Ve67bbb1Lx5c02bNk2dO3fW+PHjCVkAAAAA/rG8vqK1evVq1axZU3Xr1lVQUJAGDRpklUVFRalv374aPny4OnfurCFDhuRLZQEAAACgMPD6itasWbPUokULXXvttTp37pzmzp2rF198UW3atNEtt9yiVq1a6fDhw0pOTta7776bn3UGAAAAgKua11e0Pv/8cxljtHHjRi1ZskRvvfWWDh06pJEjR2rcuHHWfIsWLdINN9yg7t27q3r16vlRZwAAAAC4qnkdtN58802lp6erUqVKcjqd2rZtm4YNG6aSJUtq6NCheuSRR3TDDTfoscce09ChQ/Xrr78StAAAAAD8I3kdtPr376+5c+dq9+7d8vX11X333acOHTro2WefVdmyZbVx40Y5HA41atRIo0aNys86AwAAAMBVzet7tCZMmKCYmBidOHFCv/76q0JDQ3X69GklJSUpNDRUERERqlq1qn777TfFx8fnZ50BAAAA4KrmddAKDQ1VxYoVVbZsWf3+++9KSEhQhQoV1KxZM8XHx+vIkSOKiorSE088oRdeeCE/6wwAAAAAVzWvg9aQIUP0yy+/qHbt2rrzzjt16NAh3XrrrVq3bp3Onz+vDh06qGzZsnrmmWf0008/6dSpU/lZbwAAAAC4ankdtObMmaNWrVqpdu3aqlq1qhYvXqyHHnpIJUqUUHBwsHbt2qX//ve/cjgc6t27t1auXJmf9QYAAACAq5bXnWGMHDlSkhQbG6vmzZurevXqmjlzpoKDgzVx4kT5+fmpcePGkqRBgwYpNDQ0f2oMAAAAAFc5r4OWS3BwsIKDgyVJd955pyTp/vvvd5uHkAUAAADgnyzPQeuDDz6Qn5+ffHx85HA4lJ6ernr16ql169b5UT8AAAAAKHTyHLT+/e9/W00EJWnHjh165513CFoAAAAA8P/lOWhJ0u+//27938/PT//+979tqxAAAAAAFHZe9zro4nA4cvwbAAAAAP7p8hS0kpKS8qseAAAAAFBkeNV0cMOGDfrPf/6jhg0b5nd9AAAAAKDQ8+qKVlpamh599FFNmzYtv+sDAAAAAIWeV1e02rdvr/bt2+d3XQAAAACgSMhzZxgAAAAAgJzluXt3Y4wee+wx6++MjAwNHjxYN9xwg7p06aKqVavaWkEAAAAAKGzyHLQmTZokHx8f+fj4SJLq1Kmj06dPa+7cuRo6dKgeeOABvfnmmwQuAAAAAP9YeQ5aw4cP91gWGRmpoUOHqnnz5jp27Jj8/f2vqHIAAAAAUBjlOWjlpGHDhvr++++1du1aQhYAAACAfyzbO8MoVqyYOnToYPdqAQAAAKDQ8PqKVsWKFeXv7y9fX8+LFCtWTA0aNNAnn3yi0qVL21JBAAAAAChsvA5avr6+WrFihYwxevDBB7Vo0SIZY9SjRw+tXLlS0oWBjQcPHqwvv/xSDz/8cL5VGgAAAACuZl4HLX9/fzVv3lySFBAQYP3/4umS9Pzzz6tRo0Y2VxMAAAAACo/L6gzD4XB4LHvggQcuuzIAAAAAUBR4HbRiYmL0yiuvSJL++usv6/+xsbHW/40xSk1N1eOPP666devmQ3UBAAAA4OrnddDKzMxUbGysjDFKT09XTEyMJCkjI8P6v6ssPT09f2oLAAAAAIWA10ErJCRE7777riTpxx9/1LRp0yRJX3/9tfV/AAAAAEAextG6+L4sT/8HAAAAAOThilZSUpJWrFihzMxMxcXFWf9PTk7Wxo0b1bhxY4WEhORnXQEAAACgUPA6aDVu3Fhz5sxRsWLFdOONN2r+/PnKyMjQ9ddfr2HDhunAgQNq2LChHn30UfXv31+BgYH5WW8AAAAAuGp5HbTWrVuXY3lqaqpWr16tiRMnKjo6WmPGjLniygEAAABAYXRZ42hlp3jx4urevbu6d++u8+fP27VaAAAAACh0vO4MIy9KlCiRH6sFAAAAgEIhX4IWAAAAAPyTEbQAAAAAwGYELQAAAACwGUELAAAAAGxWoEHr7Nmz+vnnnxUdHV2Q1QAAAAAAWxVY0Fq0aJFq166tIUOG6Nprr9WiRYskSTt37lRYWJjKli2rkSNHyhhjLZMfZQAAAABgtwIJWrGxsRo6dKh++ukn/f777/rggw/0/PPPy+l0qlu3bmrevLnCw8MVGRmpefPmSVK+lAEAAABAfiiQoJWQkKCpU6eqcePGkqSmTZsqJiZGq1atUlxcnKZMmaJatWpp3LhxmjNnjiTlSxkAAAAA5IcCCVrVqlVT3759JUlpaWmaNGmS7r33XkVERKhly5YKDAyUJDVp0kSRkZGSlC9lAAAAAJAffAty4xEREWrbtq2KFy+uPXv26PXXX1eNGjWscofDIR8fH8XExCg+Pt72srJly2ZbL6fTKafTaf0dHx9v524DAAAAKOIKtNfBJk2aaN26dWrUqJH69+8vX19f+fv7u80TEBCg5OTkfCnzZPz48SpTpoz1qFat2hXuKQAAAIB/kgINWg6HQzfccIPmzZunL7/8UiEhITpz5ozbPAkJCSpevHi+lHkyatQoxcXFWY/jx49f4Z4CAAAA+CcpkKC1fv16jRw50vrb1/dCC8b69etry5Yt1vQjR47I6XQqJCREYWFhtpd54u/vr9KlS7s9AAAAAMBbBRK06tevrw8++ECzZs3S8ePH9cILL6hDhw66++67FRcXpwULFkiSJkyYoPbt28vHx0dt2rSxvQwAAAAA8kOBdIZRuXJlLV26VM8884z+85//qGPHjlq4cKF8fX01a9Ys9enTRyNHjlRGRoY2bNhwoaL5UAYAAAAA+aHAeh3s2LFjtt2s9+zZU/v371d4eLhatWql0NDQfC0DAAAAALsVaPfunlSpUkVVqlT528oAAAAAwE4F2usgAAAAABRFBC0AAAAAsBlBCwAAAABsRtACAAAAAJsRtAAAAADAZgQtAAAAALAZQQsAAAAAbEbQAgAAAACbEbQAAAAAwGYELQAAAACwGUELAAAAAGxG0AIAAAAAmxG0AAAAAMBmBC0AAAAAsBlBCwAAAABsRtACAAAAAJsRtAAAAADAZgQtAAAAALAZQQsAAAAAbEbQAgAAAACbEbQAAAAAwGYELQAAAACwGUELAAAAAGxG0AIAAAAAmxG0AAAAAMBmBC0AAAAAsBlBCwAAAABsRtACAAAAAJsRtAAAAADAZgQtAAAAALAZQQsAAAAAbEbQAgAAAACbEbQAAAAAwGYELQAAAACwGUELAAAAAGxG0AIAAAAAmxG0AAAAAMBmBC0AAAAAsBlBCwAAAABsRtACAAAAAJsRtAAAAADAZgQtAAAAALAZQQsAAAAAbEbQAgAAAACbEbQAAAAAwGYELQAAAACwGUELAAAAAGxG0AIAAAAAmxG0AAAAAMBmBC0AAAAAsBlBCwAAAABsRtACAAAAAJsRtAAAAADAZgQtAAAAALAZQQsAAAAAbEbQAgAAAACbEbQAAAAAwGYELQAAAACwGUELAAAAAGxG0AIAAAAAmxG0AAAAAMBmBC0AAAAAsBlBCwAAAABsRtACAAAAAJsRtAAAAADAZgQtAAAAALAZQQsAAAAAbEbQAgAAAACbEbQAAAAAwGYELQAAAACwGUELAAAAAGzmW9AVACClp6fp0KFDBV0N2Cw4OFiVKlUq6GoAAIACQNACCpgzMVZ/RUVp0LAR8vPzK+jqwEbBQSX17coVhC0AAP6BCixoffnll3rmmWd07NgxNW/eXPPmzVODBg20c+dO9e/fXwcOHNCAAQP09ttvy+FwSFK+lAEFLT0lWaaYj8rf/rCCr7muoKsDmySf/VNnflyg2NhYghYAAP9ABRK0Dh48qP79+2vmzJm6/fbbNXToUA0YMEDr169Xt27d1LFjRy1atEjDhg3TvHnz1L9/fzmdTtvLgKtJiZBKKlWRoAUAAFAUFEhnGLt379a4ceN0//33q2LFiho8eLDCw8O1atUqxcXFacqUKapVq5bGjRunOXPmSFK+lAEAAABAfiiQK1pdu3Z1+3vv3r2qXbu2IiIi1LJlSwUGBkqSmjRposjISEnKlzJPnE6nnE6n9Xd8fPyV7jIAAACAf5AC7949NTVVkyZN0lNPPaX4+HjVqFHDKnM4HPLx8VFMTEy+lHkyfvx4lSlTxnpUq1bN5r0GAAAAUJQVeNAaPXq0SpUqpYEDB8rX11f+/v5u5QEBAUpOTs6XMk9GjRqluLg463H8+PEr3EsAAAAA/yQFGrS+//57zZw5U59++qn8/PwUEhKiM2fOuM2TkJCg4sWL50uZJ/7+/ipdurTbAwAAAAC8VWBB69ChQ+rbt69mzJihhg0bSpLCwsK0ZcsWa54jR47I6XQqJCQkX8oAAAAAID8USNA6f/68unbtqp49e6pHjx5KTExUYmKibrvtNsXFxWnBggWSpAkTJqh9+/by8fFRmzZtbC8DAAAAgPxQIL0OrlmzRrt379bu3bs1e/Zsa/rhw4c1a9Ys9enTRyNHjlRGRoY2bNhwoaK+vraXAQAAAEB+KJCg1bNnTxljsi2rXr269u/fr/DwcLVq1UqhoaFuy9ldBgAAAAB2K5CglZsqVaqoSpUqf1sZAAAAANipwLt3BwAAAICihqAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYjKAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYjKAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYjKAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYjKAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYjKAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYrECD1tmzZ1WjRg0dOXLEmrZz506FhYWpbNmyGjlypIwx+VoGAAAAAHYrsKAVHR2trl27uoUsp9Opbt26qXnz5goPD1dkZKTmzZuXb2UAAAAAkB8KLGg98MADeuCBB9ymrVq1SnFxcZoyZYpq1aqlcePGac6cOflWBgAAAAD5ocCC1qxZszR8+HC3aREREWrZsqUCAwMlSU2aNFFkZGS+lXnidDoVHx/v9gAAAAAAbxVY0KpZs2aWafHx8apRo4b1t8PhkI+Pj2JiYvKlzJPx48erTJky1qNatWpXursAAAAA/kGuql4HfX195e/v7zYtICBAycnJ+VLmyahRoxQXF2c9jh8/foV7BgAAAOCf5KoKWiEhITpz5ozbtISEBBUvXjxfyjzx9/dX6dKl3R4AAAAA4K2rKmiFhYVpy5Yt1t9HjhyR0+lUSEhIvpQBAAAAQH64qoJWmzZtFBcXpwULFkiSJkyYoPbt28vHxydfygAAAAAgP/gWdAUu5uvrq1mzZqlPnz4aOXKkMjIytGHDhnwrAwAAAID8UOBByxjj9nfPnj21f/9+hYeHq1WrVgoNDc3XMgAAAACwW4EHrexUqVJFVapU+dvKAAAAAMBOV9U9WgAAAABQFBC0AAAAAMBmBC0AAAAAsBlBCwAAAABsRtACAAAAAJsRtAAAAADAZgQtAAAAALAZQQsAAAAAbEbQAgAAAACbEbQAAAAAwGYELQAAAACwGUELAAAAAGxG0AIAAAAAmxG0AAAAAMBmBC0AAAAAsBlBCwAAAABsRtACAAAAAJsRtAAAAADAZgQtAAAAALAZQQsAAAAAbEbQAgAAAACbEbQAAAAAwGYELQAAAACwGUELAAAAAGxG0AIAAAAAmxG0AAAAAMBmvgVdAQAoqtLT03To0KGCrgZsFBwcrEqVKhV0NQAAhQBBCwDygTMxVn9FRWnQsBHy8/Mr6OrAJsFBJfXtyhWELQBArghaAJAP0lOSZYr5qPztDyv4musKujqwQfLZP3XmxwWKjY0laAEAckXQAoB8VCKkkkpVJGgBAPBPQ2cYAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYjKAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANiNoAQAAAIDNCFoAAAAAYDOCFgAAAADYjKAFAAAAADYjaAEAAACAzQhaAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM9+CrgAAAIVFenqaDh06VNDVgM2Cg4NVqVKlgq4GgCKGoAUAgBecibH6KypKg4aNkJ+fX0FXBzYKDiqpb1euIGwBsBVBCwAAL6SnJMsU81H52x9W8DXXFXR1YJPks3/qzI8LFBsbS9ACYCuCFgAAeVAipJJKVSRoAQByRmcYAAAAAGAzghYAAAAA2IygBQAAAAA2I2gBAAAAgM0IWgAAAABgM4IWAAAAANiMoAUAAAAANmMcLQAA8I+Wnp6mQ4cOFXQ1YKPg4GAGoEaBI2gBAIB/LGdirP6KitKgYSPk5+dX0NWBTYKDSurblSsIWyhQBC0AAPCPlZ6SLFPMR+Vvf1jB11xX0NWBDZLP/qkzPy5QbGwsQQsF6h8TtHbu3Kn+/fvrwIEDGjBggN5++205HI6CrhYAALgKlAippFIVCVoA7POPCFpOp1PdunVTx44dtWjRIg0bNkzz5s1T//79C7pqAAAAsBn33RU9hfG+u39E0Fq1apXi4uI0ZcoUBQYGaty4cRoyZAhBCwAAoIjhvruiqTDed/ePCFoRERFq2bKlAgMDJUlNmjRRZGSkx/mdTqecTqf1d1xcnCQpPj4+fyvqhcTERGVmZCjhz8NKdyYXdHVgg6QzJ2RMphKjjshHGQVdHdiE41r0cEyLJo5r0RN3fJ8yHQ6VaHC7SoVUKOjqwAYp8ed0btcPOnHihPV7viC5MoExJsf5HCa3OYqAESNGKCUlRe+99541LTQ0VPv27VPZsmWzzP/qq6/qtdde+zurCAAAAKAQOX78uKpWreqx/B9xRcvX11f+/v5u0wICApScnJxt0Bo1apSeffZZ6+/MzEydO3dO5cqVK/AONOLj41WtWjUdP35cpUuXLtC6wB4c06KJ41r0cEyLJo5r0cMxLXqutmNqjFFCQoIqV66c43z/iKAVEhKinTt3uk1LSEhQ8eLFs53f398/SzALDg7Or+pdltKlS18VLzTYh2NaNHFcix6OadHEcS16OKZFz9V0TMuUKZPrPMX+hnoUuLCwMG3ZssX6+8iRI3I6nQoJCSnAWgEAAAAoqv4RQatNmzaKi4vTggULJEkTJkxQ+/bt5ePjU8A1AwAAAFAU/SOaDvr6+mrWrFnq06ePRo4cqYyMDG3YsKGgq3VZ/P39NWbMmCxNG1F4cUyLJo5r0cMxLZo4rkUPx7ToKazH9B/R66DLyZMnFR4erlatWik0NLSgqwMAAACgiPpHBS0AAAAA+Dv8I+7RAgAAAIC/E0ELAAAAAGxG0AIA4P87e/asfv75Z0VHRxd0VQAAhRxBqxDZuXOnwsLCVLZsWY0cOVLcXld4nD17VjVq1NCRI0esaTkdT4711e/LL79UzZo15evrqxYtWmj37t2SOK6F2aJFi1S7dm0NGTJE1157rRYtWiSJY1pUdOrUSfPmzZPEMS3shg4dKofDYT1q164tieNaFLzwwgvq1q2b9XdhP6YErULC6XSqW7duat68ucLDwxUZGWl9YeDqFh0dra5du7qFrJyOJ8f66nfw4EH1799fEyZM0MmTJ3XddddpwIABHNdCLDY2VkOHDtVPP/2k33//XR988IGef/55jmkR8cknn2jNmjWS+PwtCrZt26ZvvvlGMTExiomJ0e+//85xLQJ27typ999/X1OnTpVURN6rBoXCihUrTNmyZU1SUpIxxpjt27eb1q1bF3Ct4I0777zTTJ061Ugyhw8fNsbkfDw51le/r776ysyYMcP6e/369aZ48eIc10Ls2LFj5uOPP7b+joiIMEFBQRzTIuDs2bOmYsWKpl69euajjz7imBZyaWlpJigoyCQkJLhN57gWbpmZmaZVq1bm5ZdftqYVhWPKFa1CIiIiQi1btlRgYKAkqUmTJoqMjCzgWsEbs2bN0vDhw92m5XQ8OdZXv65du+rJJ5+0/t67d69q167NcS3EqlWrpr59+0qS0tLSNGnSJN17770c0yJgxIgRuueee9SyZUtJfP4Wdjt27JAxRs2aNVOJEiXUqVMnHTt2jONayM2ePVvbt29XjRo19PXXXystLa1IHFOCViERHx+vGjVqWH87HA75+PgoJiamAGsFb9SsWTPLtJyOJ8e6cElNTdWkSZP01FNPcVyLgIiICFWsWFHfffedpk6dyjEt5H744QetW7dOb731ljWNY1q47d69W40aNdJnn32myMhI+fn5adCgQRzXQiwxMVGjR49WnTp1dOLECU2ZMkVt2rQpEseUoFVI+Pr6yt/f321aQECAkpOTC6hGuBI5HU+OdeEyevRolSpVSgMHDuS4FgFNmjTRunXr1KhRI/Xv359jWoilpKRo0KBBmjFjhkqXLm1N55gWbn379tWWLVsUFhamGjVqaPr06fruu++UmZnJcS2kPv/8cyUlJWn9+vV6+eWX9d133yk2NlZz584t9MeUoFVIhISE6MyZM27TEhISVLx48QKqEa5ETseTY114fP/995o5c6Y+/fRT+fn5cVyLAIfDoRtuuEHz5s3Tl19+yTEtxF5//XWFhYXp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165VnTp11K5dO3311VeaPn26FixYkO1y2YVDSTn2htipU6csHVvMnDlTGRkZ6tmzZ471HDJkiH766Se37V/cdNBVnxYtWmjTpk059oj41VdfqUuXLjluDwCQO4IWAOCKnDx5Uunp6dmWPfbYY1q+fHmWK1SvvPKKIiMjVa5cuWyXu/hepvT09CxNB3Pqvc8TY4xmzpypGjVqqGnTpurfv7/uuOMOff311x6XmThxoo4fP66tW7eqQYMG1vS2bdtq8eLFuueee7JdLjAwUJs2bbKaDjZu3Fi1atXK0k38xerWravixYtrw4YN1rS+fftq6dKl8vf3z3HfHnnkEa1Zs8b6Oz093a3poLfP1759+/THH3/kOI4XAMA79DoIAMgzY4zeeOMNORwOtWvXTk2bNlXTpk21a9cuBQUFafLkyTp58qR69Oih22+/XQkJCTpz5oyCg4O1Z88e1apVS59//rkWLFigzz//3K3nu4vHxpIu3M91zTXXWH9HRka6/e2SkJDgsbOJ6OhoffTRRypZsqTeeust1a5dW5MnT1ZwcLDuuece3XnnnXrnnXdUr149t84iJk+erMzMzGw7t7j0KpNrXC9J6t+/v/r3759tXaKiorL0bugydepU9enTRxs3brQ68mjTpo3bPGlpaVn289J73ipUqGBdtRo7dmy2z8ulz5fT6dTjjz+ut99+O9txvgAAeUPQAgDk2dq1a7Vw4ULt3r1bPj4++vLLL7Vq1Sr169dPUVFRSk5O1ssvv+w2OO7x48fl5+enzz77TDfccIN1Zeree++1ukGXpCNHjqhZs2bW3y1bttSvv/5q/X3ttde61eWPP/7QbbfdpoyMDE2dOjXb+h49elTt2rXT/PnzFRISYk1/+eWX1bVrV33yySeqXbu2pAvdwktS9erVc30eMjMz1bdvX40fP16JiYk53vskSSNHjtR7771ndXN/qeuvv17/+c9/NHHiRI0bN86tLCMjQ926ddO2bdvUo0ePHLfz888/W/+/eH9d67nzzjv1888/uzW7nD9/vu6880516NAhx3UDALzjMDk1GAcAwIO4uDi3sZsK0h9//KG6det6bGJ39uxZlS1b1mO365crMzNTGRkZOY6PdbFz584pMDAwx3ukpAthKLurSq5mju3bt891HTk5evSoAgMDFRoaak3LzMyUw+HIsQt6AID3CFoAAAAAYDM6wwAAAAAAmxG0AAAAAMBmBC0AAAAAsBlBCwAAAABsRtACAAAAAJsRtAAAAADAZgQtAAAAALAZQQsAAAAAbEbQAgAAAACb/T8hhhM0KOk2KAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x800 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data_clear['CALL_DURA'].astype('int64')\n",
    "bins=[0,100,200,300,400,500,600]#设置分布区间\n",
    "# 绘制通话时长区间频率分布直方图\n",
    "plt.figure(figsize=(10, 8)) # 设置图框大小\n",
    "plt.hist(data_clear['CALL_DURA'],6,range=[0,600],alpha=0.8,edgecolor='black') \n",
    "plt.rcParams['font.sans-serif'] = ['SimHei'] # 用于正常显示中文标签\n",
    "plt.title('某运营商2016年3月份通话时长频率分布直方图', fontsize=20) \n",
    "plt.xlabel('通话时长区间(小时)') \n",
    "plt.ylabel('用户数（个）') \n",
    "plt.xticks(bins) \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "3dbb6985",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "79084 19771\n"
     ]
    }
   ],
   "source": [
    "#划分数据集\n",
    "from sklearn.model_selection import StratifiedShuffleSplit\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "data= pd.read_csv('D:/python/assignment/USER_INFO_filter.csv') \n",
    "data=data[['USER_ID','INNET_MONTH','CREDIT_LEVEL','CALL_DURA','IS_LOST']]\n",
    "data=np.array(data)\n",
    "split = StratifiedShuffleSplit(n_splits = 1,test_size = 0.2,random_state = 420)\n",
    " \n",
    "#根据data[\"IS_LOST\"]来进行分层采样\n",
    "for train_index,test_index in split.split(data,data[:,-1]):\n",
    "    train_set = data[train_index,:]\n",
    "    test_set = data[test_index,:]\n",
    "print(len(train_set),len(test_set))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "58197130",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.0    0.985421\n",
      "1.0    0.014579\n",
      "Name: 4, dtype: float64\n",
      "0.0    0.985433\n",
      "1.0    0.014567\n",
      "Name: 4, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "train_data=pd.DataFrame(train_set)\n",
    "print(train_data[4].value_counts() / len(train_data))\n",
    "test_data=pd.DataFrame(test_set)\n",
    "print(test_data[4].value_counts() / len(test_data))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "77b67616",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\15223\\AppData\\Local\\Temp\\ipykernel_18612\\2540897545.py:27: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  dt_class['class'] = pre_dt\n"
     ]
    }
   ],
   "source": [
    "# 重命名列\n",
    "train_data.columns=['USER_ID','INNET_MONTH','CREDIT_LEVEL','CALL_DURA','IS_LOST']\n",
    "test_data.columns=['USER_ID','INNET_MONTH','CREDIT_LEVEL','CALL_DURA','IS_LOST']\n",
    "#去掉字符列跟标签列\n",
    "train = train_data.drop(['USER_ID','IS_LOST'], axis=1)\n",
    "test = test_data.drop(['USER_ID','IS_LOST'], axis=1)\n",
    "# # 数据类型转换为数值型\n",
    "train=train.astype('int64')\n",
    "test=test.astype('int64')\n",
    "y=train_data.drop(['USER_ID'], axis=1)\n",
    "y=y.astype('int64')\n",
    "#train[np.isinf(train)] = 0\n",
    "#test[np.isinf(test)] = 0\n",
    "#数据标准化：零-均值处理\n",
    "train=(train - train.mean()) / train.std()\n",
    "test=(test - test.mean()) / test.std()\n",
    "# 决策树分类模型\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "model_dt1 = DecisionTreeClassifier(max_leaf_nodes=16, random_state=420,\n",
    "                                   class_weight='balanced').fit(train,y['IS_LOST'])\n",
    "\n",
    "# 模型预测\n",
    "pre_dt = model_dt1.predict(test)\n",
    "\n",
    "# dt_class存放决策树分类预测结果\n",
    "dt_class = test_data[['USER_ID']]\n",
    "dt_class['class'] = pre_dt\n",
    "# 写出决策树分类预测结果\n",
    "#dt_class.to_csv('D:/python/assignment/dt_class.csv', index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "09e79c8f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "AUC值为88.81%\n",
      "准确率为82.81%\n",
      "精确率为6.56%\n",
      "召回率为81.60%\n",
      "F1分数为12.15%\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.metrics import precision_score, roc_auc_score, roc_curve\n",
    "from sklearn.metrics import accuracy_score,recall_score,f1_score\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei'] # 用于正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus'] = False # 用于正常显示负号\n",
    "\n",
    "#删除用户名,类型转换为数值型\n",
    "x_test = test_data.drop(['USER_ID'], axis=1)\n",
    "x_test=x_test.astype('int64')\n",
    "# 决策树分类模型评价指标值\n",
    "pre = model_dt1.predict_proba(test)  # 输出预测概率\n",
    "auc = roc_auc_score(x_test['IS_LOST'], pre[:, 1])  # 计算AUC值\n",
    "print('AUC值为%.2f%%'% (auc * 100.0))\n",
    "dt_evaluate_accuracy = accuracy_score(x_test['IS_LOST'], pre_dt)\n",
    "print('准确率为%.2f%%'% (dt_evaluate_accuracy * 100.0))\n",
    "dt_evaluate_p = precision_score(x_test['IS_LOST'], pre_dt)\n",
    "print('精确率为%.2f%%'% (dt_evaluate_p * 100.0))\n",
    "dt_recall=recall_score(x_test['IS_LOST'],pre_dt)\n",
    "print('召回率为%.2f%%'%(dt_recall * 100.0))\n",
    "dt_f1=f1_score(x_test['IS_LOST'],pre_dt)\n",
    "print('F1分数为%.2f%%'%(dt_f1 * 100.0))\n",
    "# 绘制ROC曲线\n",
    "tr_fpr, tr_tpr, tr_threasholds = roc_curve(x_test['IS_LOST'], pre[:, 1])\n",
    "plt.title(\"ROC %s(AUC=%.4f)\"% ('曲线', auc))\n",
    "plt.xlabel('假正率')\n",
    "plt.ylabel('真正率')\n",
    "plt.plot(tr_fpr, tr_tpr)\n",
    "plt.show()\n",
    "#没有标准化的结果：\n",
    "# AUC值为88.19%\n",
    "# 准确率为79.07%\n",
    "# 精确率为5.65%\n",
    "# 召回率为85.07%\n",
    "# F1分数为10.59%"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "cdc8639c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.metrics import precision_recall_curve,precision_recall_fscore_support\n",
    "precisions,recalls,thresholds = precision_recall_curve(x_test['IS_LOST'], pre[:, 1])\n",
    "\n",
    "plt.title('精确率与召回率相关性')\n",
    "plt.xlabel('查全率（recall）')\n",
    "plt.ylabel('查准率（precision）')\n",
    "plt.figure(1)\n",
    "plt.plot(precisions, recalls)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "916b5d64",
   "metadata": {},
   "source": [
    "# 探测原始数据正反样本比例（正样本：0.032342； 反样本：0.967658）\n",
    "# 办法（调权重：class_weight=\"balanced\"）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "dd0f00f6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "82604 20652\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import StratifiedShuffleSplit\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "data2= pd.read_csv('D:/python/assignment/user_info_screen.csv',encoding='GBK') \n",
    "data2=data2[['USER_ID','INNET_MONTH','CREDIT_LEVEL','CALL_DURA','IS_LOST']]\n",
    "data2=np.array(data2)\n",
    "\n",
    "from sklearn.model_selection import StratifiedShuffleSplit\n",
    "split = StratifiedShuffleSplit(n_splits = 1,test_size = 0.2,random_state = 42)\n",
    "#根据mnist[\"target\"]来进行分层采样\n",
    "for train_index,test_index in split.split(data2,data2[:,-1]):\n",
    "    train1_set = data2[train_index,:]\n",
    "    test1_set = data2[test_index,:]\n",
    "print(len(train1_set),len(test1_set))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "5b418b9f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 82604 entries, 0 to 82603\n",
      "Data columns (total 5 columns):\n",
      " #   Column  Non-Null Count  Dtype \n",
      "---  ------  --------------  ----- \n",
      " 0   0       82604 non-null  object\n",
      " 1   1       82604 non-null  object\n",
      " 2   2       82604 non-null  object\n",
      " 3   3       82604 non-null  object\n",
      " 4   4       82604 non-null  object\n",
      "dtypes: object(5)\n",
      "memory usage: 3.2+ MB\n",
      "0.0    0.985981\n",
      "1.0    0.014019\n",
      "Name: 4, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "#将分割后的训练数据转换为DataFrame\n",
    "#这里的参数data可以是分割之后的训练集或者测试集\n",
    "train1_data = pd.DataFrame(train1_set)\n",
    "#快速查看对数据的描述\n",
    "train1_data.info()\n",
    "#查看各个类别的比例\n",
    "print(train1_data[4].value_counts() / len(train1_data))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c3405a9e",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
